Try/Except error when using 'None'
except, python, try-catch
Solution
There's nothing to raise a `TypeError` in your `try` block, it simply checks whether `item !=None`. `item !=None` will be `True` or `False`, but won't raise an error in either case.
You could do the following:
item = None
try:
if item != None: # better: if item is not None
print('pass')
else:
raise TypeError
except TypeError:
print('fail')
Or simply:
item = None
if item != None: # better: if item is not None
print('pass')
else:
print('fail')
Problem
I have a bit of code that isn't behaving as expected. I've condensed it down to the problem here: ``` item = None try: if item != None: print('pass') except TypeError, e: print('fail') ``` if item is something other than 'None' type it prints pass. I wanted raise an exception if the item is None but when I set item to None nothing prints out. I could easily do this with an if statement but I'm curious to know why this isn't working as an try/except. any thoughts? Thanks!