捕获异常

假设某处可能会出现异常,提前做好准备。

捕获常规异常

所有的异常都会被捕获,不指定异常。
语法:

try:
	可能出错的代码
except:
	出现异常后的处理

try:
	代码
except Exception as e:
	处理

捕获指定异常

指定捕获某种异常,其他异常不会捕获。
语法:

try:
	代码
except 异常类型1 as 异常对象别名
	处理
except 异常类型2 as 异常对象别名
	处理

捕获多个异常

try:
	代码
except (异常类别1, 异常类别2...):
	处理

else语法

else表示如果没有出现异常时,执行的代码

try:
	代码
except:
	异常处理
else:
	没有异常的处理

finally语法

无论有无异常都会执行的代码。

try:
	代码
except:
	异常处理
finally:
	无论有无异常都会执行的

异常的传递

当有多层嵌套的函数调用时,若内层函数出现了异常,可以由任意一个外层的函数进行捕获,在高层进行捕获。
若所有函数都没有捕获异常,则程序会报错。
在这里插入图片描述

def F1():
	出现异常的代码# F1没有捕获异常
def F2():
	F1()# F2没有捕获异常
def F3():
	try:
		F2()# 对内层的异常进行捕获
	except:
		异常处理

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部