无法在Python中捕获ValueError

无法在Python中捕获ValueError,第1张

无法在Python中捕获ValueError

在您进入try块之前发生崩溃。如果您输入带有当前代码的字母,它不会在except块中打印错误

只需将输入部分放在单独的try块中将无法捕获它-您需要与try相关的except块,其中发生错误,例如

try:    a = float(input('num1: '))    b = float(input('num2: '))except ValueError as e:    print ('Value Error')try:    result = a / bexcept ZeroDivisionError as e:    print ('Zero DivisionError')print(result)

或者,您可以将所有输入和除法都放在try块中,并捕获当前的报告:

try:    a = float(input('num1: '))    b = float(input('num2: '))    result = a / bexcept ValueError as e:    print ('error type: ', type (e))print(result)

编辑:请注意,如果在这些任何一个中确实发生任何错误,则稍后将导致进一步的错误。最好选择第二个选项,但是将print(结果)移到try块中。这是唯一要定义的时间。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5431486.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存