【问题标题】:How to hide default error message(Traceback) in python如何在python中隐藏默认错误消息(Traceback)
【发布时间】:2021-08-02 13:18:42
【问题描述】:

我想知道如何在 python 中隐藏错误: 假设我做了一个计算器,然后输入:

if number1 != int:
     print("NaN")

但它会打印此消息并给出 python 内置的错误,即: Traceback(最近一次调用最后一次):

但是如何隐藏这个 Traceback 错误并且只显示错误消息“NaN”

谢谢你的回答。

【问题讨论】:

  • if number1 != int: 毫无意义。你到底想做什么?

标签: python python-3.x visual-studio-code error-handling traceback


【解决方案1】:

即使你在谈论try...except,下面的陈述也没有任何意义。

您告诉 python 将 1 与数据类型 int 进行比较

if number1 != int: print("NaN")

如果要检查特定数据类型,请使用isinstance(<variable>,<data type>)

if isinstance(number1,int): print("NaN")

您可以使用try...except 方法来捕捉各种错误:

try:
    number1=int(input("Enter a number: "))
    ...
except ValueError:
    print("NaN")

请注意,这只会捕获ValueError。如果要捕获所有错误,请使用except Exceptionexcept:

【讨论】:

  • 哦,非常感谢!对不起,代码中的含义不正确。
  • @kronox,没问题
【解决方案2】:

要“隐藏”错误消息 (NameError),您可以尝试以下操作,但这只是因为未定义 number1

try:
    if number1 != int: print("NaN")

except NameError:
    print("Error is hidden!")

except:
    print("Catch all other Exceptions!")

更多内容请看以下link

我想你想检查插入的数字是否不是整数。这可以通过以下代码完成:

number = "asdf"

if type(number) != int: 
    print("NaN")

else:
    print("Valid number!")

【讨论】:

    猜你喜欢
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 2011-06-22
    相关资源
    最近更新 更多