[Tutor] Error frameworks

DS ds-python-tutor at sidorof.com
Wed Sep 21 22:32:07 CEST 2005

>>(Please reply to the tutor list, not to me privately)


>>Generally, you want to catch the exception at the level that knows what to do about it. Your function2() isn't handling the exception in any meaningful sense, it is just converting it to a magic return value. You might as well just use magic return values everywhere if you do this.

>>Even function1() seems like it is too low-level to handle the error since it is also just converting the error to a magic return.

>>For short, simple scripts you can often omit exception handling completely. Any raised exceptions will propagate to the interpreter which will print a stack trace and exit. This is very handy - you get to see exactly where the error occured and the details of the exception type and message. This style may also be appropriate for handling any fatal error even in a complex script.

>>For more complex scripts, for example a server or GUI app, or a script that processes many items, you probably don't want to exit the script on an error. In this case you might have a high-level exception handler that logs the exception and continues. For example here is a loop that processes a list of items, if there is an error processing an item a traceback is printed and the processing continues:

I think you are correct that I haven't been letting my raised errors propagate high enough.  That helps.  Thanks very much.


More information about the Tutor mailing list