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