Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1438373
  • 博文数量: 704
  • 博客积分: 10140
  • 博客等级: 上将
  • 技术积分: 6230
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-15 20:41
文章分类

全部博文(704)

文章存档

2013年(1)

2012年(16)

2011年(536)

2010年(151)

分类: Python/Ruby

2011-05-21 22:56:42

python exception 是 处理异常很重要的方法,它里面有几种写法,你可以根据当时的情况不同来选择不同的方法。 我分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后面的语句,就像的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种解决方法了。

阅读(362) | 评论(0) | 转发(0) |
0

上一篇:python 函数返回值

下一篇:python os.popen

给主人留下些什么吧!~~