Differences between revisions 2 and 3
Revision 2 as of 2003-11-21 19:24:23
Size: 805
Editor: dsl254-010-130
Comment: added "except Exception, e:" example.
Revision 3 as of 2003-11-21 19:33:55
Size: 833
Editor: ip503dabc3
Comment: don't *ever* use a too general exception class, CatchWhatYouCanHandle
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
  z = "divide by zero"
except ZeroDivisionError:
  print "divide by zero"
Line 21: Line 21:
except Exception, e: except ZeroDivisionError, e:

Handling Exceptions

The simplest way to handle exceptions is with a "try-except" block:

   1 (x,y) = (5,0)
   2 try:
   3   z = x/y
   4 except ZeroDivisionError:
   5   print "divide by zero"

If you wanted to examine the exception from code, you could have:

   1 (x,y) = (5,0)
   2 try:
   3   z = x/y
   4 except ZeroDivisionError, e:
   5   z = e # representation: "<exceptions.ZeroDivisionError instance at 0x817426c>"
   6 print z # output: "integer division or modulo by zero"

To Write About...

Give example of IOError, and interpreting the IOError code.

Give example of multiple excepts. Handling multiple excepts in one line.

Show how to use "else" and "finally".

Show how to continue with a "raise".

See Also:

WritingExceptionClasses, TracebackModule, CoupleLeapingWithLooking

HandlingExceptions (last edited 2020-09-14 13:35:48 by MatsWichmann)

Unable to edit the page? See the FrontPage for instructions.