异常处理
目录
- 定义
- 异常类型
- 异常捕获方法
1)try…except…
2)try…except…finally…
3)try…except…else… - 触发异常
1.定义
程序如果遇到异常后不会再执行后面的语句,但不能让程序遇到异常就终止执行。
改变程序碰到异常就终止的行为叫异常处理,异常的捕获,处理异常保存到数据库、日志等
2.异常类型
1)IndexError
2)ZeroDivisionError
3)ValueError
…
3.异常捕获方法
1)try…except…
- 语法:
try:
#要执行的可能发生异常的代码
except:
#程序发生异常以后,希望程序做的事情
- 运行逻辑:
程序先执行 try 当中的代码,一旦 try 当中某个代码报错(任何异常),会执行跳到 except ,try 剩下的代码不会再执行;
如果try中的语句没有报错,就不会执行 except 中的语句 - except后面的异常有4种:
a.不填写
b.单个异常类型
c.多个异常类型
d.某种异常(基类):通常是Exception
a. 不填写:捕获所有异常(但无法获取异常信息),有任何错误就执行 except 子语句2
- 语法
try:
(缩进)子语句1
except:
(缩进)子语句2 - 举个栗子
try:
print("正在运行程序")
a = 1 / 0 #除数不能为0,有报错
print(f"计算结果:{a}") #try中的报错语句后面的代码不会再执行
except:#不填写异常类型
print("我知道 1 不能 / 0 , 你需要改除数") #执行except中的语句
print("剩下的程序") #会执行
b.单个异常类型:当且仅当出现这个指定的异常类型时才会执行 except 的子语句2
- 语法
try:
(缩进)子语句1
except 1个具体异常类型:
(缩进)子语句2 - 举个栗子
# 捕获具体的异常类型
try:
print("正在运行程序&