繁体   English   中英

使用 Try 和 except 无法捕获特定错误

[英]Not catching specific errors with Try and Except

好的,所以我尝试使用 except 块来观察异常。 这都是正常的,但是当你有一个循环时,你通常不能停止代码,因为没有特定的位说“不要捕捉键盘中断错误”或类似的东西

有什么可以让我们尝试并且除了块排除特定错误的东西吗? (或替代方案)

我的代码

     while 1:
        if ques == 'n':
            try:
                newweight = int(input('Please enter a number'))
                exit()
            except:
                print('Please enter a valid number')

现在这将创建一个无限循环,因为“exit()”不会发生,因为它会引发异常,因此它会创建一个无限循环。 有什么办法可以避免这种情况发生吗?

为了防止用户输入非整数值,您希望捕获 TypeError 以便您可以将except:更改为except ValueError: ,然后它将捕获任何无效输入。 这应该足以覆盖你。

暂无
暂无

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

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