summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_raise.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_raise.py')
-rw-r--r--Lib/test/test_raise.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/test/test_raise.py b/Lib/test/test_raise.py
index 5936d75..6d26a61 100644
--- a/Lib/test/test_raise.py
+++ b/Lib/test/test_raise.py
@@ -185,6 +185,20 @@ class TestCause(unittest.TestCase):
else:
self.fail("No exception raised")
+ def test_class_cause_nonexception_result(self):
+ class ConstructsNone(BaseException):
+ @classmethod
+ def __new__(*args, **kwargs):
+ return None
+ try:
+ raise IndexError from ConstructsNone
+ except TypeError as e:
+ self.assertIn("should have returned an instance of BaseException", str(e))
+ except IndexError:
+ self.fail("Wrong kind of exception raised")
+ else:
+ self.fail("No exception raised")
+
def test_instance_cause(self):
cause = KeyError()
try: