导语:
本文主要介绍了关于Python新手常见问题三:在异常处理时错误的使用参数的相关知识,希望可以帮到处于编程学习途中的小伙伴
在异常处理时错误的使用参数
假设你有如下的代码:
>>> 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 中,除了 Exception, e 的语法用于将异常绑定到这个可选参数(也就是这里的 e),以供以后查看。因此,在上面的代码中,IndexError异常不会被except语句捕获;最后将 ValueError 异常绑定到一个名为 IndexError 的参数。
在 except 语句中捕获多个异常的正确方法是将要捕获的所有异常放在一个元组中,并将其作为 except 语句的第一个参数。并且,为了可移植性,使用 as 关键字,因为 Python 2 和 Python 3 都支持这样的语法,例如:
>>> try:
... l = ["a", "b"]
... int(l[2])
... except (ValueError, IndexError) as e:
... pass
...
>>>
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python中的随机函数10/09
- ♥ python中MRO原理的使用10/23
- ♥ 学习python用什么软件12/14
- ♥ Python 可视化神器:Plotly Express 库10/04
- ♥ 什么是 python 列表理解?10/11
- ♥ python适合做网站吗?12/02
内容反馈