我想捕獲一個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'的實例,那麼這將不起作用。# –