当前位置: 首页 > Python编程 > Python编程实战技能 > Python编程基础入门 > Python新手常见问题三 在异常处理时错误的使用参数

Python新手常见问题三 在异常处理时错误的使用参数

发布时间:2020年09月27日 08:40:03 来源: 点击量:573

【摘要】在异常处理时错误的使用参数假设你有如下的代码:>>>try: l=["a","b"] int(l[2]) exceptValueError,IndexError: 想捕捉两个异常

在异常处理时错误的使用参数

假设你有如下的代码:

>>> try:
...     l = ["a", "b"]
...     int(l[2])
... except ValueError, IndexError:  
# 想捕捉两个异常
...     pass
...
Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
IndexError: list index out of range

这里的问题在于except语句不会像这样去接受一系列的异常。并且,在Python 2.x里面,语法except Exception, e是用来将异常和这个可选的参数绑定起来(即这里的e),以用来在后面查看的。因此,在上面的代码中,IndexError异常不会被except语句捕捉到;而最终ValueError这个异常被绑定在了一个叫做IndexError的参数上。

相关推荐:《Python视频教程》

在except语句中捕捉多个异常的正确做法是将所有想要捕捉的异常放在一个元组(tuple)里并作为第一个参数给except语句。并且,为移植性考虑,使用as关键字,因为Python 2和Python 3都支持这样的语法,例如:

>>> try:
...     l = ["a", "b"]
...     int(l[2])
... except (ValueError, IndexError) as e:  
...     pass
...
>>>

相关推荐:

Python新手常见问题二:不正确的使用类变量

分享到: 编辑:wangmin

就业培训申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

绑定手机号

应《中华人民共和国网络安全法》加强实名认证机制要求,同时为更加全面的体验产品服务,烦请您绑定手机号.

预约成功

本直播为付费学员的直播课节

请您购买课程后再预约

环球青藤移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载
环球青藤官方微信服务平台

刷题看课 APP下载

免费直播 一键购课

代报名等人工服务

课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部