micropython exception handling
-
def _fn(): try: raise OSError except OSError: 1/0 except Exception: print('_fn exception handler') try: _fn() except Exception: print('_caller exception handler')
Can someone please explain to me why an error in a functions except OSError section is handled by the except Exception section of the calling program rather than the exception Exception of the function itself? I mean the Exception in the fn's except OSError is between that fn's try & except Exception, so shouldn't it be handled by the fn's except Exception?
>>> _caller exception handler >
-
@kjm said in micropython exception handling:
I mean the Exception in the fn's except OSError is between that fn's try & except Exception
No, it´s not, it is outside your try. Try this instead:
def _fn(): try: try: raise OSError except OSError: 1/0 except Exception: print('_fn exception handler') try: _fn() except Exception: print('_caller exception handler')
Johan