捕获异常
def exp_exception(x,y):
try:
a=x/y
print("a=",a)
return a
except ZeroDivisionError:
print("除数不能为0")
exp_exception(2,0)
捕获多个异常
def exp_exception(x,y):
try:
a=x/y
print("a=",a)
b=name
return a
except ZeroDivisionError:
print("除数不能为0")
except NameError:
print("没有你要找的名字")
exp_exception(2,5)
使用一个块捕捉多个异常
#使用一个块捕捉多个异常
def exp_exception2(x2,y2):
try:
a2=x2/y2
print("a2=",a2)
b2=name2
return a2
except (ZeroDivisionError,NameError,TypeError):#一个块捕捉多个异常
print("数据有误")
exp_exception2(2, 5)
全捕捉
#全捕捉
def exp_exception2(x,y):
try:
a=x/y
print("a2=",a)
b=name
return a
except : #捕捉所有异常
print("Error")
exp_exception2(2, 5)
异常else子句
def exp_exception2(x,y):
try:
a=x/y
except : #捕捉所有异常
print("Error")
else:
print("程序没有错误,执行结束")
exp_exception2(2, 5)
异常finally子句
def exp_exception2(x,y):
try:
a=x/y
except : #捕捉所有异常
print("Error")
else:
print("程序没有错误,执行结束")
finally:
print("不管执行成功与否,都会执行我")
exp_exception2(2, 5)