There are a couple things a bit strange about this line. Normally you wouldn't have an except block that only goes on to raise its own error, unless you defined your own error class with specific information. The second thing is the use of the keyword "raise" without any type of Error. What Python tries to do is raise an exception, finding out that the argument passed to it is a NoneType, then raise its own TypeError because it can't raise a NoneType. This will cause an error to halt execution, but may be confusing in terms of the information it gives to the user.