异常捕获
1.异常
程序在运行过程中如果出现异常会导致整个程序的结束(bug)
2.异常的结构
1.关键字line所提示的行数,精准提示错误所在行数
2.最后一行冒号左侧是错误的类型
3,最后一行冒号右侧是错误的具体原因
3.异常的类型
NameError 名字错误
IndexError 索引错误
KeyError k键错误
SyntaxErroe 语法错误
YypeError 类型错误
4.异常的分类
1.语法错误
不允许错误一旦错误需要立即修改
2.逻辑错误
允许错误一旦错误后修改即可
异常捕获实参演练
1.什么时候才可能会需要自己写代码处理异常
当代码不确定什么时候会报错的情况下
2.异常捕获的使用相当于是提前预测可能出现的问题并提前给出处理的措施
3,异常捕获的代码实现
3.1.基本语法结构
try:
可能会出错的代码
except 错误类型:
对应错误类型解决措施
try:
name
except NameError:
print('')
print('duidui')
try:
可能会出错的代码
except 错误类型1 as e: e就是具体的错误类型
对应错误类型1的解决错误类型1的措施
except 错误类型2 as e: e就是具体的错误类型
对应错误类型1的解决错误类型1的措施
。。。。。。。。
3.2万能异常
try:
可能会出错的代码
escept Exception as e : 万能异常方式1
print(e)
escept BaseException as e :万能异常方式2
4.异能捕获其他操作补充
4.1 else与finally
try:
可能会出错的代码
except Exception as e :
print()
else:
print(‘try检测的代码没有错误的情况下正常运行结束,会执行else子代码’)
finally:
print(‘try检测的代码无论有没有出错,最后都会执行finally的子代码’)
补充以前知识
if …else … while … else … for… else…
4,2 assert 断言 预测
4.3 主动报异常
if :
raise xxx
raise Exception xxx 万能主动
else:
print()
“”"
1.异常捕获能尽量少用就尽量少用
2.被try监测的代码能尽量少就尽量少
“”"
练习