如果抛出异常,为什么 try 在第一个语句后退出?
Why does try exits after first statement if it throws an Exception?
我是新手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 块吗?像这样
try:
int(input("number"))
except ValueError:
print("Value should be number")
和
try:
import bala
except ModuleNotFoundError:
print("Module not found")
是的,你需要有单独的异常块,因为如果它通过了第一个块,它认为这就是它需要通过的所有内容,所以如果你想测试每个异常块,你应该使用单独的异常块
如果引发异常使得Python停止执行立即。您可以使用 try
和 except
来防止整个程序停止。但是,如果在 try
块中引发异常,它仍然会在那里停止执行,并且只有在适当的 except
块捕获异常(或者如果有 finally
块)时才会继续执行.
简而言之:如果您想继续下一个语句,您需要使用单独的 try
和 except
块。但是如果你想执行下一个语句 only 如果前面的语句没有引发异常你不应该使用单独的 try
和 except
块。
您必须使用多个 try/except 块。
一旦发现错误,停止任何事情的发生,并处理异常。
把它想象成一场火灾。发生火灾时,您可以停止一切并 运行 出去。对于 python 它处理异常
我是新手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 块吗?像这样
try:
int(input("number"))
except ValueError:
print("Value should be number")
和
try:
import bala
except ModuleNotFoundError:
print("Module not found")
是的,你需要有单独的异常块,因为如果它通过了第一个块,它认为这就是它需要通过的所有内容,所以如果你想测试每个异常块,你应该使用单独的异常块
如果引发异常使得Python停止执行立即。您可以使用 try
和 except
来防止整个程序停止。但是,如果在 try
块中引发异常,它仍然会在那里停止执行,并且只有在适当的 except
块捕获异常(或者如果有 finally
块)时才会继续执行.
简而言之:如果您想继续下一个语句,您需要使用单独的 try
和 except
块。但是如果你想执行下一个语句 only 如果前面的语句没有引发异常你不应该使用单独的 try
和 except
块。
您必须使用多个 try/except 块。
一旦发现错误,停止任何事情的发生,并处理异常。
把它想象成一场火灾。发生火灾时,您可以停止一切并 运行 出去。对于 python 它处理异常