异常处理
python提供了三种结构进行异常捕获。
try…except…结构
try模块内为可能引发异常的语句,except内用来捕获相应的异常,当try子句代码块内的代码执行异常且被except捕获,则执行except内的语句。
try:
math_score = int(input('数学成绩:'))
if (0 < math_score < 100):
print('输入的数学成绩为:', math_score)
else:
print('输入的成绩不再范围内!')
except Exception as e:
print('输入有误')
输入英文字母等不是数字的时候会捕获异常
try…except…else…结构
当try模块内的代码没有异常时,会接着执行else内的代码,出现异常时,则不会执行else内的代码。
try:
math_score = int(input('请输入数学成绩:'))
except Exception as e:
print('请输入正确成绩!')
else:
if (0 < math_score < 100):
print('输入的数学成绩为:', math_score)
else:
print('输入的成绩不再范围内!')
try…except…finally…结构
无论try内的代码是否报错,最后都执行finally内的代码。
a = int(input('a:'))
b = int(input('b:'))
try:
div = a/b
print(div)
except Exception as e:
print('除数不能为0!')
finally:
print('执行结束')
可见,无论是否捕获异常,最后都执行finally内的代码。