• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python异常的检测和处理方法

python 搞代码 4年前 (2022-01-08) 27次浏览 已收录 0个评论

今天小编就为大家分享一篇关于Python异常的检测和处理方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

捕获异常

 # 对数字变量使用append操作 a = 123 a.apppend(4)

执行这个程序时,会抛出:

 AttributeError: 'int' object has no attribute 'apppend'

我们使用try:except语句进行捕获。

 # 捕获异常 a = 123 try: a.apppend(4) except AttributeError: print("数字类型不能使用append操作")

输出结果如下:

 数字类型不能使用append操作

捕获多个异常

 # 捕获异常 a = 123 try: # a.apppend(4) print(1/0) except AttributeError: print("数字类型不能使用append操作") except ZeroDivisionError: print("0不能作为除数")

输出结果:

 0不能作为除数

当然也可以类似JDK1.7那样,把异常放置到一起。

 # 捕获异常 a = 123 try: a.apppend(4) # print(1/0) except (AttributeError,ZeroDivisionError) as e: print("出现错误 %s" %e)

把异常类型放置到一个元祖里面,如果想打印具体的异常信息,可以将异常信息重新命名,然后打印出来。

输出结果如下:

 出现错误 'int' object has no attribute 'apppend'

使用Exception捕获所有异常

 # 捕获异常 a = 123 try: print(1/'kk') except Exception as e: print("出现错误 %s" <strong style="color:transparent">来源gaodai#ma#com搞@@代~&码网</strong>%e)

统一用Exception进行捕获,输出结果如下:

 出现错误 unsupported operand type(s) for /: 'int' and 'str'

自定义异常

 # 捕获异常 a = 123 try: if a == 123: raise NameError("a是不能等于123的哦") except NameError as e: print("出现错误 %s" %e)

可以使用raise关键字和NameError,输出结果如下:

 出现错误 a是不能等于123的哦

finally语句

 try: print(1/0) except Exception as e: print("出现错误 %s" %e) finally: print("执行finally")

执行结果如下:

 出现错误 division by zero 执行finally

说明就算抛出了一次,finally语句仍然会被执行。

总结

以上就是Python异常的检测和处理方法的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python异常的检测和处理方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址