class Ex_Base(BaseException): pass class Ex_Deriv(Ex_Base): pass # -------------------------------------- try: print('Before raising the exception') raise Ex_Deriv() print('After raising the exception') except Ex_Deriv as e: # Order of except statements is important. print('Ex_Deriv caught') # Try to catch the more concrete class first. except Ex_Base as e: print('Ex_Base caught') # -------------------------------------- try: print('Before raising the exception') raise Ex_Deriv() print('After raising the exception') except Ex_Base as e: # Probably wrong order. print('Ex_Base caught') except Ex_Deriv as e: print('Ex_Deriv caught')
BaseException
is the base class from which all exceptions must be derived.