加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Python中的异常解决

发布时间:2021-12-11 17:56:36 所属栏目:教程 来源:互联网
导读:在编写程序时可能会出现一些异常,比如类型错误,除零错误等,为了能捕获并处理这些异常,可以使用Python的异常处理功能。python使用raise语句可以抛出异常,对于可能出现异常的语句块,用try语句包围起来,并用except捕捉,就可以实现异常处理了,比如: x=

在编写程序时可能会出现一些异常,比如类型错误,除零错误等,为了能捕获并处理这些异常,可以使用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

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读