gpt4 book ai didi

python - 如果抛出异常,为什么 try 在第一个语句后退出?

转载 作者:太空宇宙 更新时间:2023-11-04 04:59:51 26 4
gpt4 key购买 nike

我是 python 新手,现在正在学习异常处理。

try:
print(1/0)
int(input("number"))
import bala
except ZeroDivisionError:
print("Divided by zero")
except KeyboardInterrupt:
print("dont press ctrl C!")
except ValueError:
print("Value should be number")
except ModuleNotFoundError:
print("Module not found")

以上代码在第一个异常后退出,其余的 try 语句不会执行。我应该为每个语句使用单独的 try-except block 吗?像这样

try:
int(input("number"))
except ValueError:
print("Value should be number")

try:
import bala
except ModuleNotFoundError:
print("Module not found")

最佳答案

如果引发异常使 Python 立即停止执行。您可以使用 tryexcept 来防止整个程序停止。但是,如果在 try block 中引发异常,它仍然会立即停止执行,只有在适当的 except block 捕获异常(或者如果有 finally block )。

简而言之:如果你想继续下一个语句,你需要使用单独的 tryexcept block 。但是如果你想在前面的语句没有引发异常的情况下执行下一个语句,你不应该使用单独的tryexcept block 。

关于python - 如果抛出异常,为什么 try 在第一个语句后退出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46014668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com