On 08Dec2015 13:24, Peter Otten <__pete...@web.de> wrote:
Ganesh Pal wrote:
[Cameron Simpson:]
Finally. sys.exit accepts an integer, not a string.
Most of code uses sys.exit("some error message") , I did notice
that the error message is not displayed by sys .exit("some error
message") , do u mean that using string is not advisable with
sys.exit ?
Cameron is wrong (he's probably coming from the C side of things).
Correct on both counts.
You can invoke sys.exit() with arbitrary objects:
[...]
Exit the interpreter by raising SystemExit(status).
If the status is omitted or None, it defaults to zero (i.e., success).
If the status is an integer, it will be used as the system exit status.
If it is another kind of object, it will be printed and the system
exit status will be one (i.e., failure).
I Did Not Know That!
It says "printed". To stderr or stdout? If it isn't stderr, I think I will
avoid this anyway.
How to I display error messages with sys.exit then ?
Wrong question; if you want to use sys.exit() in a way similar to C display
the error message first and invoke sys.exit() afterwards with a numerical
argument.
Indeed. My general habit is that fatal errors (when the code decides that they
are fatal) print or log an error message and set a suitable failure flag. Which
is then caught later somewhere suitable.
Cheers,
Cameron Simpson <c...@zip.com.au>
--
https://mail.python.org/mailman/listinfo/python-list