我想捕获一个Python异常并打印它,而不是重新提升它。例如:在Python中打印异常,而不是提高它们
def f(x):
try:
return 1/x
except:
print <exception_that_was_raised>
那么这应该这样做:
>>> f(0)
'ZeroDivisionError'
没有异常被提出。
有没有办法做到这一点,除了列出每个可能的异常在一个巨大的try-except-except ... except子句中?
或者如果你只是想要例外的名字:'print e .__ class __.__ name__' – mgilson
@ mgilson的评论实际上是OP所要求的; 'print repr(e)'也可以。 –
不错,但是如果你提出一个'class Whoa:pass'的实例,那么这将不起作用。# –