Thanks Ben Finney. So it's understood very well. Ben Finney ha escrito:
> "GinTon" <[EMAIL PROTECTED]> writes: > > > Is the same use >> >>> sys.stderr.write('error message'); sys.exit(1) > > than >> >>> sys.exit('error message') ? > > Code that wants to catch SystemExit will get a different exception > object in each case:: > > >>> import sys > >>> from StringIO import StringIO > >>> sys.stderr = StringIO() > > >>> try: > ... sys.stderr.write('error message') > ... sys.exit(1) > ... except SystemExit, e: > ... print "stderr contains:", sys.stderr.getvalue() > ... print "e.code is:", e.code > ... > stderr contains: error message > e.code is: 1 > > >>> try: > ... sys.exit('error message') > ... except SystemExit, e: > ... print "stderr contains:", sys.stderr.getvalue() > ... print "e.code is:", e.code > ... > stderr contains: error message > e.code is: error message > > I quite often catch SystemExit in unit tests, or other code that is > inspecting a program module. -- http://mail.python.org/mailman/listinfo/python-list