您的位置:首页 > 编程语言 > Python开发

python学习笔记-(17)python中的异常

2015-03-24 14:28 211 查看
用过java的朋友都知道,在实际项目开发中,异常处理是很常见的,通过异常处理,可以更加快速方便的找到bug的位置。

1. 异常的处理

先来看个有异常的例子:

// 1.txt文件中有三行内容

f = open(1.txt)

for I in range(4):

           print f.next()

说明:很明显,由于文件只有三行,当循环到第4次时,f.next()不会继续返回元素,因此,会报出StopIteration异常,从而使程序中断。

我们现在修改下上面的例子:

f = open(1.txt)

try:

for i in range(4):

    print f.next()

except StopIteration:

    print “error in here”

说明:在try程序段中,应放入可能出异常的代码,注意,except块是可有多个,表明若在try部分的代码中出现StopIteration,程序执行except内部的代码。若无StopIteration异常,该except快跳过,继续向下执行。

通用异常块的例子:

try:

    print ……

except exception1:

    print ……

except exception2:

    print ……

except:

    print ……

else:

   print ……

finally:

    print ……

说明:若try块中出现异常,寻找是否为Exception1或Exception2,如果匹配则执行相应的except块中的代码,若没有相应匹配的异常,将执行except: 块的代码。若try无异常,将跳过所有的except,去执行else内部的语句。有无异常,Finally块内容均执行。

此外,若异常处理块代码在一个函数内部且不能处理发生的异常,则将异常抛给调用函数者,让其处理。

2. 异常的抛出

先看一个例子:

raise StopIteration

说明:raise在python中是一个关键字,用来抛出指定的异常,在抛出时,会生成一个相应的异常对象,这里的异常对象为StopIteration。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: