Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    micropython exception handling

    Scheduled Pinned Locked Moved Firmware
    2 Posts 2 Posters 129 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K Offline
      kjm
      last edited by kjm

      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
      >
      
      J 1 Reply Last reply Reply Quote 0
      • J Offline
        johand @kjm
        last edited by

        @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

        1 Reply Last reply Reply Quote 0

        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

        With your input, this post could be even better 💗

        Register Login
        • 1 / 1
        • First post
          Last post

        Pycom on Twitter

        Pycom