分享python exception的一点心得

python exception python 处理异常很重要的方法,它里面有几种写法,你可以根据当时的情况不同来选择不同的方法。 我分3个情况来分别的说明python exception的写法和处理方式:

1最简单最直接的处理方式: 假定我们在写代码的时候,有的时候怕程序会出问题,就会在可能出问题的地方用上try exception来捕获程序出现的错误。

try:
    a = 1/0
except Exception,e:
    print e

输出的结果是: integer division or modulo by zero

2在其中加了个判断: 我们在写一断程序的时候,想如果有异常就输出异常,如果没异常就继续执行下面的语句那该怎么做呢? 就要用到try exception else: 比如:

try:
    a = 1/2
except Exception,e:
    print e
else:
    print 'success'

输出的结果是success,因为上面的a = 1/2没有报错,它会执行else后面的语句,就像python 控制语句的iif else的效果一样, 如果上面的程序有异常就执行except后面的语句,输出异常,如果没有异常的话,就会执行else后面的语句,

3不管有没异常都要执行: 这个情况主要是如果你要操作什么的东西,比如文件或者网络等,不管它是否发生异常最后都要关闭资源,比如关闭文件等。

try:
    f = file('1.txt','w')
    f.write('fefe')
except Exception,e:
    print e
finally:
    f.close()

上面假设我们在打开文件或者写内容的时候出错的话,会执行print e,接着会执行f.close()关闭文件,有点像类的析构方法 作最后的收尾工作,其实不一定是有异常才会执行finally后面的方法,就算语句没有出现异常的话,也会执行finally后面的语句,你可以自己实验下看下效果。 我一般写程序用到python exception的话,主要就是上面的3种解决方法了。

 

作者:老王@python python 教程
老王python,提供python相关的python 书籍,python 主机,django 教程和python 下载,希望大家能够喜欢!

posted @ 2010-12-20 10:58  老王python  阅读(1912)  评论(2编辑  收藏  举报