异常处理错误

时间:2018-07-05 08:57:13

标签: python python-3.x

所以我有一个条件,只能接受一个负值的变量,它也不应该引发值错误。 我的代码是这样的->

try:
    x = int(input("Enter -ve value : "))
    while x >= 0:
        print("Error wrong value!")
        x = int(input("Enter -ve value : " )
except ValueError:
    print("Error wrong value!")
    x = int(input("Enter -ve value : "))
    while x >= 0:
        print("Error wrong value!")
        x=int(input("Enter -ve value : " )

此方法的唯一问题是,假设我按下Enter键却没有第一次输入值。它使我进入“除外”条件,并且工作正常,但是如果我再次输入空白值,则由于值错误,我的代码将停止。如何阻止这种情况的发生?是否有更有效的方式编写此代码而不导入任何模块?

感谢您的时间和精力!我在移动应用上写了这个问题,很抱歉给您带来不便!

1 个答案:

答案 0 :(得分:4)

您可以这样尝试:

x = 0
while x >= 0:
    try:
        x = int(input("Enter -ve value : "))
    except ValueError:
        print("Error wrong value!")
        x = 0

这将实现您的要求,因为它会不断提示您输入数字while x >= 0,并确保也总是对每个输入执行异常处理。