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")