-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
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
rishi93
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