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
|
def reraise():
raise
def test_reraise():
"""
>>> test_reraise()
Traceback (most recent call last):
ValueError: TEST
"""
try:
raise ValueError("TEST")
except ValueError:
raise
def test_reraise_indirect():
"""
>>> test_reraise_indirect()
Traceback (most recent call last):
ValueError: TEST INDIRECT
"""
try:
raise ValueError("TEST INDIRECT")
except ValueError:
reraise()
def test_reraise_error():
"""
>>> try: test_reraise_error()
... except (RuntimeError, TypeError): pass # Py2, Py3, ...
... else: print("FAILED")
"""
import sys
if hasattr(sys, 'exc_clear'): # Py2
sys.exc_clear()
raise
|