StopAsyncIteration — Intermediate Playground
Raised by __anext__() to signal an async iterator is exhausted
Python Playground
# Exception chaining
class ApplicationError(Exception):
pass
try:
try:
raise StopAsyncIteration("async iteration done")
except StopAsyncIteration as original:
raise ApplicationError("Operation failed") from original
except ApplicationError as e:
print(f"App error: {e}")
print(f"Caused by: {e.__cause__}")
Output
Click "Run" to execute your code
Exception chaining preserves the original error context, making debugging easier.
Challenge
Try modifying the code above to explore different behaviors. Can you extend the example to handle a new use case?