在 REPL 中,我可以打印异常的字符串表示形式:
>>> print(str(ValueError))
<class 'ValueError'>
>>> print(ValueError)
<class 'ValueError'>
在这段简单的代码中,没有打印值。我错过了什么?
第一味:
try:
raise ValueError
except Exception as e:
print(str(e))
print('We crashed!')
这只是输出我们崩溃了!
第二种口味输出相同。 print(str(e))
发生了什么?
第二种口味:
def crash():
raise ValueError
try:
crash()
except Exception as e:
print(str(e))
print('We crashed!')
最佳答案
In the REPL, I can print the string representation of an exception:
>>> print(str(ValueError)) <class 'ValueError'>
不,您正在打印异常类 的字符串表示形式。当你做的时候
raise ValueError
ValueError
实际上并不是引发的异常对象。 Python 隐式引发 ValueError()
而不是 that 的 str
为空。
关于python - 为什么不打印异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41170011/