Junior
How to re-raise an exception in an except block?
sobes.tech AI
Answer from AI
To re-raise an exception handled in an except block, simply use the raise keyword without arguments. This will propagate the exception up the call stack after executing the code in the except block.
try:
# Code that may raise an exception
result = 1 / 0
except ZeroDivisionError as e:
# Handle the exception (e.g., logging)
print(f"Division by zero error occurred: {e}")
# Re-raise the exception
raise
If you need to raise a different exception or add information to the current one, you can use raise exception from current_exception.
try:
# Code that may raise an exception
data = {}
value = data['key']
except KeyError as e:
# Caught a KeyError
print(f"Key access error: {e}")
# Raise a new exception, linking it to the original
raise ValueError("Invalid data format") from e