我觉得问这个问题很愚蠢,因为答案可能很简单,但我无法通过谷歌搜索真正找到答案...我有很多代码,我不需要帮助,我想自己调试,我使用 try/ except ,但 except 不打印错误消息,而且我找不到打印该消息的方法。基本上,我如何检查我的错误是什么?
首先要检查您的错误是什么,您可以在终端中观察到错误的名称:
print(5+"5")
>>>
Traceback (most recent call last):
File "c:\Users\USER\Desktop\how_to_use_try_except.py",
line 1, in <module>
print(5+"5")
TypeError: unsupported operand type(s) for +: 'int' and 'str'
要捕获它,您需要复制错误的名称,并除外
try:
print(5+"5")
except TypeError:
print("You can't add string value to int!")
也可以写
try:
print(5+"5")
except TypeError as e:
print(e)
>>>
unsupported operand type(s) for +: 'int' and 'str'
您可以使用
traceback
,更具体地说是 traceback.print_exc()
。这将打印完整的错误回溯,而不仅仅是在 as
块中使用 except
生成的一行。
我在下面举了一个使用
ValueError
的示例。
import traceback
try:
int("s")
except ValueError:
traceback.print_exc()
这会产生与没有 try- except 相同的打印结果,区别在于该解决方案允许代码继续运行。
您可以使用 try except 来捕获任何错误,而不必担心其类型。 使用此代码
try:
blah blah
except Exception as A: #(Where A is a temporary variable)
print(a)
Tadaaa,您刚刚捕获了错误,而没有破坏整个代码。