This article describes re-throwing exceptions in Python:
try:
do_something_dangerous()
except:
do_something_to_apologize()
raise
Since you re-throw the exception there should be an "outer catch-except" statement. But if the do_something_to_apologize() inside the except throws an error, which one will be caught in the outer "catch-except"? The one you re-throw or the one thrown by do_something_to_apologize()? Or will the exception with the highest priority be caught first?