python中的所有异常都是基类什么的成员_python 之异常

Python的异常处理能力是很强大的,可向用户准确反馈出错信息。在Python中,异常也是对象,可对它进行操作。所有异常都是基类Exception的成员。所有异常都从基类Exception继承,而且都在exceptions模块中定义。Python自动将所有异常名称放在内建命名空间中,所以程序不必导入exceptions模块即可使用异常。一旦引发而且没有捕捉SystemExit异常,程序执行就会终止。如果交互式会话遇到一个未被捕捉的SystemExit异常,会话就会终止

try:

block

except [exception,[data...]]:

block

else:

block

finally:

block

该种异常处理语法的规则是:

·   执行try下的语句,如果引发异常,则执行过程会跳到第一个except语句。

·   如果第一个except中定义的异常与引发的异常匹配,则执行该except中的语句。

·   如果引发的异常不匹配第一个except,则会搜索第二个except,允许编写的except数量没有限制。

·   如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。

·   如果没有发生异常,则执行else块代码。

·   finally无论try块是否抛出异常,永远执行的代码。通常用来执行关闭文件,断开服务器连接的功能等等。

try、except、else

可以在try块里加入else块,代码块将在没有异常被抛出的时候执行:

捕获所有异常

只要在except后面不加任何异常类型,这个except块就可以捕获所有的异常。

except:

finally

无论try块是否抛出异常,永远执行的代码。通常用来执行关闭文件,断开服务器连接的功能等等

点击(此处)折叠或打开

#coding:utf-8

#!/usr/bin/python

# Filename: exception.py

try:

f = open("hello.txt","r") #变量f只在try语句内有效属于局部变量,所以不能放到一下行,因为f.close()还要调用

try:

print f.read(5)

except:

print "读取文件错误"

else:

print "文件读取没有错误"

finally:

print "释放资源"

f.close()

except IOError:

print "文件不存在"

else:

print "代码块将在没有异常被抛出的时候执行:文件存在"

文件不存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值