1 2import sys, types 3 4def test(obj): 5 """ 6 >>> test(Exception('hi')) 7 Raising: Exception('hi',) 8 Caught: Exception('hi',) 9 """ 10 print u"Raising: %s%r" % (obj.__class__.__name__, obj.args) 11 try: 12 raise obj 13 except: 14 info = sys.exc_info() 15 if sys.version_info >= (2,5): 16 assert isinstance(info[0], type) 17 else: 18 assert isinstance(info[0], types.ClassType) 19 print u"Caught: %s%r" % (info[1].__class__.__name__, info[1].args) 20