GeneratorExit — Expert Examples
Raised when a generator's close() method is called
GeneratorExit exception groups (Python 3.11+)
Using ExceptionGroup with GeneratorExit.
python
# Exception groups (Python 3.11+) import sys print(f"Python {sys.version}") # Exception hierarchy inspection print(f"GeneratorExit MRO:") for cls in GeneratorExit.__mro__: print(f" {cls.__name__}") # Exception attributes try: raise GeneratorExit("generator closed") except GeneratorExit as e: print(f"\nException attributes:") print(f" args: {e.args}") print(f" __traceback__: {type(e.__traceback__)}") # Traceback manipulation import traceback tb_lines = traceback.format_exception(type(e), e, e.__traceback__) print(f" Traceback lines: {len(tb_lines)}")
Understanding the exception hierarchy and traceback system helps build robust error handling and debugging tools.
Want to try these examples interactively?
Open Expert Playground