如果执行异常,是否有办法阻止 try 块的其余部分执行?举例来说,我已经用完了ingredient 1,一旦执行该异常,如何防止 try 块的其余部分执行?
try:
#add ingredient 1
#add ingredient 2
#add ingredient 3
except MissingIngredient:
print 'you are missing ingredients'
Run Code Online (Sandbox Code Playgroud)
它会自动发生:
class MissingIngredient(Exception):
pass
def add_ingredient(name):
print 'add_ingredient',name
raise MissingIngredient
try:
add_ingredient(1)
add_ingredient(2)
add_ingredient(3)
except MissingIngredient:
print 'you are missing ingredients'
Run Code Online (Sandbox Code Playgroud)
如果 try 块的表达式之一引发异常,则不会执行 try 块的其余部分。它将打印:
add_ingredient 1
you are missing ingredients
Run Code Online (Sandbox Code Playgroud)