Try problem
Bruno Desthuilliers
bruno.42.desthuilliers at wtf.websiteburo.oops.com
Fri Apr 13 06:54:28 EDT 2007
mik3l3374 at gmail.com a écrit :
> On Apr 13, 5:14 pm, "SamG" <mad.vi... at gmail.com> wrote:
>> import sys
>> try:
>> s=1
>> if s==1:
>> sys.exit(0)
>> else:
>> sys.exit(1)
>> except SystemExit,s:
>> if (s==0):
>> print s
>> else:
>> print "Hello"
>>
>> How come i always end up getting the "Hello" printed on the screen as
>> logically i should a '0' printed?
>
>
> if you put a debug print statement, eg
>
> ...
> except SystemExit,s:
> print "s in exception " , s, type(s)
> if (s==0):
> ....
>
> you will notice 's' is an "instance".
Not with Python 2.5.x (exceptions are now new-style classes too).
> so when it reaches the if
> (s==0), which you are comparing with a number,
Actually, with an instance of class int. Everything in Python is an object.
But the comparison will fail, indeed.
More information about the Python-list
mailing list