手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Python中的异常处理

[日期:2014-02-24] 来源:Linux社区  作者:u011608357 [字体: ]

在编写程序时可能会出现一些异常,比如类型错误,除零错误等,为了能捕获并处理这些异常,可以使用Python的异常处理功能。python使用raise语句可以抛出异常,对于可能出现异常的语句块,用try语句包围起来,并用except捕捉,就可以实现异常处理了,比如:

x=input("first number:")
y=input("second number:")
try:
 print x/y
except ZeroDivisionError:
 print "error"

y为零时会引发异常。

如果要捕捉两个或者更多的异常,except后面加上括号即可,如上面的except语句可以改为except (ZeroDivisionError,TypeError),这样可以捕获除零和类型异常。如果想记录异常信息,可以这样写:except ZeroDivisionError,e:接下来就可以处理异常信息,比如打印等。空的except语句可以捕获所有的异常。在except语句后面还可以加上else语句,用于处理没有异常发生的情况,比如:

while 1:
x=input("first number:")
y=input("second number:")
try:
 print x/y
except ZeroDivisionError:
 print "error"
else:
 break

上面的程序中,如果遇到除数为零的情况程序会循环,不为零时,程序会执行到break语句从而跳出循环。

finally语句也非常有用,它位于异常处理的后面,它内部的代码一定会被执行,它可以用于清理异常。

#!/usr/bin/env python
x=input("first number:")
y=input("second number:")
try:
 print x/y
except ZeroDivisionError:
 print "error"
finally:
 sys.exit(1)

也可以自定义异常类,例如:

#!/usr/bin/env python
class myError(Exception):
 def __init__(self,value):
  self.value=value; 
try:
 raise myError(2)
except myError,e:
 print "exception's value is",e.value

Python 的详细介绍请点这里
Python 的下载地址请点这里

推荐阅读:

《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码] http://www.linuxidc.com/Linux/2013-11/92693.htm

Python脚本获取Linux系统信息 http://www.linuxidc.com/Linux/2013-08/88531.htm

linux
相关资讯       Python异常处理 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款