-
-
Notifications
You must be signed in to change notification settings - Fork 34.1k
Closed
Labels
3.13bugs and security fixesbugs and security fixes3.14bugs and security fixesbugs and security fixestype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug description:
import sys
class InvalidFruitException(Exception):
pass
def eat_fruit(fruit):
if fruit == "banana":
raise InvalidFruitException("no herbs please, only fruit")
if fruit == "rock":
raise InvalidFruitException("too tough")
def demo_continue_loop():
food = ["apple", "rock", "orange", "banana"]
exceptions = []
try:
for i, f in enumerate(food):
try:
eat_fruit(f)
except Exception as e:
e.add_note(f"failed on loop {i=} {f=}")
exceptions.append(e)
if exceptions:
raise ExceptionGroup("multiple errors eating food", exceptions)
finally:
del exceptions # no refcycles please!
def main():
demo_continue_loop()
return 0
if __name__ == "__main__":
sys.exit(main())here's the output:
https://asciinema.org/a/681263
I'd expect the eat_fruit() parts to be highlighted in red
CPython versions tested on:
3.13, 3.14
Operating systems tested on:
Linux, macOS
This was added in #112730 but it looks like ExceptionGroups were missed
Linked PRs
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
3.13bugs and security fixesbugs and security fixes3.14bugs and security fixesbugs and security fixestype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error