[EMAIL PROTECTED] wrote:
> I am playing with the atexit module but I don't find a way to see the
> difference
> between a script calling sys.exit(<returncode>) and the interpreting
> arriving at the end
> of the source code file. This has a semantic difference for my
> applications.
> Is there a way to determine in an exithandler (that is registered
> using atexit.register)
> how I exited?

Actually sys.exit raises exception SystemExit, but if interpreter
reaches end of script exception is not raised.  Try something
like this:

if __name__ == '__main__':
        exit_code_for_exithandler = None
        try:
                #...
                sys.exit(5)
                pass
                #...
        except SystemExit, e:
                exit_code_for_exithandler = e.code
                print "sys.exit called"
        else:
                print "end of script"

w.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to