1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
from exception_order import *
# This test is expected to fail with -builtin option.
# Throwing builtin classes as exceptions not supported
if is_python_builtin():
exit(0)
a = A()
try:
a.foo()
except E1 as e:
pass
except:
raise RuntimeError("bad exception order")
try:
a.bar()
except E2 as e:
pass
except:
raise RuntimeError("bad exception order")
try:
a.foobar()
except RuntimeError as e:
if e.args[0] != "postcatch unknown":
raise RuntimeError("bad exception order {}".format(e.args))
try:
a.barfoo(1)
except E1 as e:
pass
except:
raise RuntimeError("bad exception order")
try:
a.barfoo(2)
except E2 as e:
pass
except:
raise RuntimeError("bad exception order")
|