Commit 893566e5 authored by Stefan Behnel's avatar Stefan Behnel

extended test case

parent ef5e3c25
__doc__ = u""" u"""
>>> import sys >>> import sys
>>> if not IS_PY3: sys.exc_clear() >>> if not IS_PY3: sys.exc_clear()
>>> def test_py(): >>> def test_py():
... try: ... try:
... raise AttributeError ... raise AttributeError("test")
... except AttributeError: ... except AttributeError:
... test_c(error=AttributeError) ... test_c(error=AttributeError)
... print(sys.exc_info()[0] is AttributeError or sys.exc_info()[0]) ... print(sys.exc_info()[0] is AttributeError or sys.exc_info()[0])
...@@ -33,6 +33,12 @@ True ...@@ -33,6 +33,12 @@ True
>>> print(sys.exc_info()[0]) # test_c() >>> print(sys.exc_info()[0]) # test_c()
None None
>>> def test_raise():
... raise TestException("test")
>>> test_catch(test_raise, TestException)
True
None
""" """
import sys import sys
...@@ -43,9 +49,16 @@ class TestException(Exception): ...@@ -43,9 +49,16 @@ class TestException(Exception):
def test_c(func=None, error=None): def test_c(func=None, error=None):
try: try:
raise TestException raise TestException(u"test")
except TestException: except TestException:
if func: if func:
func() func()
print(sys.exc_info()[0] is TestException or sys.exc_info()[0]) print(sys.exc_info()[0] is TestException or sys.exc_info()[0])
print(sys.exc_info()[0] is error or sys.exc_info()[0]) print(sys.exc_info()[0] is error or sys.exc_info()[0])
def test_catch(func, error):
try:
func()
except error:
print(sys.exc_info()[0] is error or sys.exc_info()[0])
print(sys.exc_info()[0] is error or sys.exc_info()[0])
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment