Message131842
| Author |
Trundle |
| Recipients |
Trundle, michael.foord, ncoghlan, pitrou, santoso.wijaya |
| Date |
2011年03月23日.02:33:37 |
| SpamBayes Score |
4.9177384e-08 |
| Marked as misclassified |
No |
| Message-id |
<1300847618.61.0.982509210901.issue11627@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
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. |
|