RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
创新互联Python教程:Python新手常见问题三:在异常处理时错误的使用参数

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

站在用户的角度思考问题,与客户深入沟通,找到桑珠孜网站设计与桑珠孜网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、做网站、企业官网、英文网站、手机端网站、网站推广、空间域名、虚拟主机、企业邮箱。业务覆盖桑珠孜地区。

假设你有如下的代码:

>>> try:
...     l = ["a", "b"]
...     int(l[2])
... except ValueError, IndexError:  
# 想捕捉两个异常
...     pass
...
Traceback (most recent call last):
  File "", line 3, in 
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新手常见问题二:不正确的使用类变量


当前文章:创新互联Python教程:Python新手常见问题三:在异常处理时错误的使用参数
链接地址:http://www.jxjierui.cn/article/cdehdso.html