繁体   English   中英

如何使用raise ValueError?

[英]How to use raise ValueError?

我想看ValueError 4 次,但它只显示一次,为什么程序会切割来搜索其他双数?

def isitDoubleorSingle(value):
    if(value%2!=0):
        raise ValueError("Number isn't double")
    print(value)    

list=[10,22,79,43,11,80]

for x in list:
    isitDoubleorSingle(x)

这将解决您的问题。 您必须在 except 块中捕获您的错误,否则您的脚本将在您第一次raise ValueError()时停止运行

编辑:正如@Nin17 所说,您不应该重新定义内置列表,因此重命名 my_list 中的列表(或您想要的任何名称)应该会更好。

def isitDoubleorSingle(value):
    try:
        if(value%2!=0):
            raise ValueError()
    except ValueError:
            print(f"Number {value} isn't double")

my_list=[10,22,79,43,11,80]

for x in my_list:
    isitDoubleorSingle(x)

当你引发异常时,程序已经自动关闭,因此不能多次显示 ValueError

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM