我是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")
答案 0 :(得分:1)
如果引发异常,使Python立即停止执行 。您可以使用try
和except
阻止完整的程序停止。但是,如果在try
块中引发异常,它仍然会在那里停止执行,并且只有在适当的except
块捕获异常时(或者如果存在finally
块)才会继续执行
简而言之:如果您想继续使用下一个语句,则需要使用单独的try
和except
块。但是,如果您只想执行下一个语句 ,如果之前的语句没有引发异常,则您不应该使用单独的try
和except
块。
答案 1 :(得分:0)
是的,你需要有单独的异常块,因为如果它到达第一个块,它认为它需要通过它,所以如果你想测试每一个,你应该使用单独的
答案 2 :(得分:0)
您必须使用多个try / except块。
一旦发现错误,发生的任何事情都会停止,异常将以。
处理将其视为火灾。当发生火灾时,你会停下来然后跑出去。对于python,它处理异常