Python 异常处理的高级用法

Python的基本用法

try:
	<语句块1>
except:
	<语句块2>
except:
	<语句块3>

Python的高级用法

try:
	<语句块1>
except:
	<语句块2>
else:
	<语句块3>
finally:
	<语句块4>

在高级用法中 try-except 的含义不变,except可以有多组。else是当try中<语句块1>未异常时的奖励。finally 是一定要执行的内容。由这四个保留字组合起来可以应对所有情况。语句1未发生异常,则执行路径是1->3->4。反之则是1->2->4

Python的高级用法在函数中的用法

def f(a):
	try:
		print(1/a)
		rerturn 1/a
	except:
		print("except")
		rerturn "except"
	else:
		print("else")
		rerturn "else"
	finally:
		print("finally")
		rerturn "finally"

此时约定:无论 return 发生在什么地方,只要在异常处理中存在 finally 则必须要将 finally 中的语句执行完才能将函数返回。

>>>f(1)
1.0
fiinally
'finally'
>>>f(0)
except
finally
'finally'

因为在try中存在return,所以即使没有异常,函数也会先执行finally中的语句而导致返回。

发布了5 篇原创文章 · 获赞 0 · 访问量 209

猜你喜欢

转载自blog.csdn.net/bilidi/article/details/104524668
今日推荐