1.11 Python异常处理

常见异常处理结构形式

Python 提供了多种不同形式的异常处理结构,基本思路都是一致的: 先尝试运行代
码,然后处理可能发生的错误 在实际使用时,可以根据需要来选择使用哪一种。

1. try-except…

Python异常处理结构中最基本的结构是try.except.结构。其中try子句中的代码块包含可能会引发异常的语句,而except子句用来捕捉相应的异常。 如果try子句中的代码引发异常并被except子句捕捉,则执行except子句的代码块;如果 try 中的代码块没有出现异常则继续往下执行异常处理结构后面的代码;如果出现异常但没有被except 捕获, 则继续往外层抛出;如果所有层都没有捕获并处理该异常,则程序崩溃并将该异常呈现给最终用户,这是我们最不希望发生的事情。 该结构语法如下:

try:			
			 #可能会引发异常的代码,先执行一下试试
except Exception[ as reason]:
			#如果try中的代码抛出异常并被except捕捉,就执行这里的代码

2.try.except.else…

带有else子句的异常处理结构可以看作是一种特殊的选择结构,如果 try中的代码
抛出了异常并且被某个except语句捕捉则执行相应的异常处理代码,这种情况下就不会
执行else中的代码;如果try中的代码没有抛出异常, 则执行else块的代码。 该结构的语
法如下:

try:
		#可能会引发异常的代码
except Exception [ as reason]:
	 	#用来处理异常的代码
else:
	    #如果try子句中的代码没有引发异常,就继续执行这里的代码

3.try.except.finally…

在这种结构中 , 无论 try 中的代码是否发生异常,也不管抛出的异常有没有被 except语句捕获,finally子句中的代码总是会得到执行。 因此,finally中的代码常用来做一些清理工作以释放 try 子句中申请的资源。 该结构语法为

try:
		#可能会引发异常的代码
except Exception [ as reason]:
		#处理异常的代码
finally:
		#无论try子句中的代码是杏引发异常,都会执行这里的代码

4. 可以捕捉多种异常的异常处理结构

在实际开发中,同一段代码可能会抛出多种异常,并且需要针对不同的异常类型进行相应的处理。 为了支持多种异常的捕捉和处理,Python提供了带有多个except的异常处理结构,一旦某个except捕捉到了异常,则其他的 except子句将不会再尝试捕捉异常。该结构类似于多分支选择结构,语法格式为

try:
	#可能会引发异常的代码
except Exception1:
	#处理异常类型1的代码
except Exception2:
  	#处理异常类型2的代码
except Exception3:
   	#处理异常类型3的代码

5.同时包含else子句、finally子句和多个except子句的异常处理结构

Python异常处理结构中可以同时包含多个 except子句、else子句和 finally子句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值