storing test logs under /var/log/
Cameron Simpson
cs at zip.com.au
Tue Dec 8 20:51:22 EST 2015
On 08Dec2015 13:24, Peter Otten <__peter__ at 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 <cs at zip.com.au>
More information about the Python-list
mailing list