异常处理


filename = raw_input(‘请输入:’)

try:

open(filename)

print hello

except IOError,mag:

print“This is IO Error ,the file no find”

except NameError,msg:

print“name no find”

finally:

print“ok”


01异常以及异常抛出

异常抛出机制,为程序开发人员提供了一种在运行时发现错误,进行恢复处理,然后继续执行的能力。下面是一个异常处理实例:

02 抛出机制

1.如果在运行时发生异常的话,解释器会查找相应的处理语句(称为handler.

2.要是在当前函数里没有找到的话,它会将异常传递给上层的的调用函数,看看那里能不能处理。

3.如果在最外层(全局“main”)还是没有找到的话,解释器就会退出,同时打印出traceback以便让用户找出错误产生的原因。

03 finally 子句

Python 提供try-finally子句用来表述这样的情况:我们不关心扑捉到是什么错误,无论错误是不是发生,这些代码“必须”运行,比如关闭,释放锁,把数据库链接返还给连接池等。比如:

04 raise抛出异常

到目前为止,我们只讨论了如何扑捉异常,那么如何抛出异常呢?

使用raise来抛出一个异常:

if‘a’ > 5 :

raiseTypeError(“Error:’a’ must be integer.”)