【问题标题】:Fake exception (ValueError)假异常(ValueError)
【发布时间】:2020-08-29 17:43:14
【问题描述】:

我的方法是捕获 ValueEror,但它不应该在这种情况下发生。输入示例:+15、-7。

可能是什么问题以及如何解决?

def isdigit(number):
    try:
        int(number)
    except ValueError:
        return False
    else:
        return True

【问题讨论】:

  • 我无法重现该错误。 isdigit('+15') # True
  • 你想提出假错误吗?
  • 检查缩进,我已在您的问题中进行了编辑。
  • 对不起,我现在明白了你的意思,这真的很奇怪,我有同样的错误 :-)

标签: python exception try-catch


【解决方案1】:

这种方法绝对是你要找的

def is_digit(num):
  while True:
    try:
      num = int(input("Enter an integer number: "))
      break
    except ValueError:
      print("Invalid input. Please input integer only")  
      continue

print(is_digit("+9")

输出

Invalid input. Please input integer only

投票和检查:-)

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 2020-05-02
    相关资源
    最近更新 更多