Chinaunix首页 | 论坛 | 博客
  • 博客访问: 344706
  • 博文数量: 148
  • 博客积分: 2745
  • 博客等级: 少校
  • 技术积分: 1704
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-30 14:59
文章分类

全部博文(148)

文章存档

2013年(97)

2012年(7)

2011年(3)

2010年(41)

我的朋友

分类: Python/Ruby

2010-12-20 11:00:01

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

 

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

阅读(1269) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-12-22 14:20:01

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com