3

Python处理异常的基本语句是try… excep…语句
,语句块要采用4格缩进的规范,Python 3中的语法如下:
try:
语句块#被监控的语句,错误在此出现,Python检查异常类型
except Exception[“as” identifier]:语句块#处理异常的语句,执行后会跳过其他异常块
except Exception[“as” identifier]:语句块#处理异常的语句
except Exception[“as” identifier]:语句块并处理异常的语句主程序#在 try…except …后继续执行
注意:这个结构在Python2中,except语句为except Exception, identifier:
try…xcet…else 语句
如果有多个异常需要处理可以通过罗列多个except语句实现,如果try的代码块没有任何异常抛出,还可以利用else执行一段代码。
在if,for、while等语句中已经见过else,异常处理的else 语句的代码块是在try语句代码块没有异常时执行,下面举例说明一下多个except加else。#try_ except_ n.pytry:
x= input (“被除数:”)
y = input (“除数:”)
z = int(x) / int (y)
except ValueError:print (“请输人数字!”)
except ZeroDivisionError:
print (“除数不能为0”)else:
print(x,”/",y,"=", z)如果输人的值不是数字就会抛出ValueError 异常,处理后输出提示信息,不执行else。被除数:a除数:a请输人数字!
如果除数是0,效果如下
被除数:10除数:0除数不能为0没有异常就会执行else语句的代码块,效果如下。被除数:10
除数:2
10/2=5.0
finally 子句以及嵌套
finally语句的代码块,不管有没有异常都会执行。finally 通常会和tr…excep…组合使用,那有什么是必须要执行的呢?很多需要我们强制关闭的对象都需要,比如对一一个文件操作,无论是否有异常,最后都要关闭文件,这种情况就适用于finally
#try_ file.py
try:
f = open(“test.txt”, ‘r’)
print(f.read())
except IOError:
print (“文件不存在”)
finally:
#f.close ()
try:
f.close ()
except NameError :
pass
在try中读取文件,可能会出现要打开的文件不存在的问题,这就会引发IOError,将其捕获即可,文件对象用完之后要关闭,在finally子句中可以直接将f. close()关掉,但是这行代码还可能产生异常。如果前面打开文件失败,就不会有f对象,那么f. close()就会报NameError异常,既然会有异常,那么就再次嵌套一个 try即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值