On 12 jul, 01:32, Wojciech Mu a
<[EMAIL PROTECTED]> wrote:
> [EMAIL PROTECTED] wrote:
> > I am playing with theatexitmodule 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
> > usingatexit.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.

I am getting quite confused with this SystemExit.
If I register a custom sys.excepthook then it is never invoked
when I do sys.exit(.)

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

Reply via email to