LGTM.com - false positive: py/unreachable-statement after context manager with while True loop
- Lingua principale
- CodeQL
- Stelle
- 10.1k
- Fork
- 2.1k
- Merge medio
- 2g 15h
- PR unite (30g)
- 141
Descrizione
**Description of the false positive**
The code looks like this:
```python
with trio.CancelScope() as cscope:
task_status.started(cscope)
while True:
# ...
await trio.sleep(0.5)
do_more_things() # This code is marked as unreachable
```
A trio `Cancelled` exception is expected to break out of the loop, and then be caught by the `CancelScope` being used as a context manager. Trio's `CancelScope` is also used to build other context managers like `with trio.move_on_after(5):`, which implements a timeout by raising a `Cancelled` error and then catching it.
See also the discussion on #2351 - it's not only `contextlib.suppress` that can catch exceptions.
**URL to the alert on the project page on LGTM.com**
https://lgtm.com/projects/g/European-XFEL/sfollow/snapshot/2b50fa3bd622a5ed2dd5bf12948cee0174d55faa/files/sfollow/sfollow.py?sort=name&dir=ASC&mode=heatmap#x7fd2565924064ca:1
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.