[issue11627] segfault raising an arbitrary object as an exception
Andreas Stührk
report at bugs.python.org
Wed Mar 23 03:33:38 CET 2011
Andreas Stührk <andy-python at hammerhartes.de> added the comment:
Another thing that can happen is that `__new__()` does return an instance of BaseException, but that the return value is not an instance of the expected class.
Example:
class MyException(OSError):
def __new__(*args):
return Exception()
try:
raise MyException
except OSError as e:
print(isinstance(e, OSError))
That would print "False". Currently, the patch doesn't check for that, should it do so?
Also, the error message for the 2.7 patch doesn't include that old-style classes are allowed, hence the patch needs to be updated if it should go into 2.7.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue11627>
_______________________________________
More information about the Python-bugs-list
mailing list