如何使用 Try and except 打印错误

问题描述 投票:0回答:3

我觉得问这个问题很愚蠢,因为答案可能很简单,但我无法通过谷歌搜索真正找到答案...我有很多代码,我不需要帮助,我想自己调试,我使用 try/ except ,但 except 不打印错误消息,而且我找不到打印该消息的方法。基本上,我如何检查我的错误是什么?

python try-except
3个回答
2
投票

首先要检查您的错误是什么,您可以在终端中观察到错误的名称:

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' 

1
投票

您可以使用

traceback
,更具体地说是
traceback.print_exc()
。这将打印完整的错误回溯,而不仅仅是在
as
块中使用
except
生成的一行。

我在下面举了一个使用

ValueError
的示例。

import traceback

try:
    int("s")
except ValueError:
    traceback.print_exc()

这会产生与没有 try- except 相同的打印结果,区别在于该解决方案允许代码继续运行。


0
投票

您可以使用 try except 来捕获任何错误,而不必担心其类型。 使用此代码

try:
    blah blah
except Exception as A: #(Where A is a temporary variable)
    print(a)

Tadaaa,您刚刚捕获了错误,而没有破坏整个代码。

© www.soinside.com 2019 - 2024. All rights reserved.