一、需求
当遇到错误的时候 不让程序停止执行 而是越过错误继续执行
二、主体结构 (抓取所有异常)
try:
可能出现异常的代码段
except:
出现异常以后的处理
三、处理特定异常(只捕获特定的异常)
try:
# a
1 + '1'
# int('asd')
except NameError as e:
print('NameError 错误信息为',e)
四、多重捕获
try:
# a
1 + '1'
# int('asd')
except NameError as e:
print('NameError 错误信息为',e)
except TypeError as e:
print(e)
except:
print('如果以上没有满足异常捕获的 则走到当前的except')
当捕获不到特定的错误类型的时候 会执行最后的except
五、捕获特定的几个异常
try:
# a
# 1 + '1'
int('asd')
except (NameError,TypeError) as e:
print('错误信息为',e)
except:
print('如果以上没有满足异常捕获的 则走到当前的except')
六、搭配else使用
主体结构
try:
...
except:
...
else:
...
当代码段没有出现异常的时候 执行else
七、搭配 finally使用
主体结构
try:
...
except:
...
else:
...
finally:
...
八、手动抛出异常
使用raise 去抛出指定的异常
主体结构:
raise 错误类型('错误信息')