python怎样在一行中捕获多个异常
程序员文章站
2022-06-12 18:33:23
所属网站分类: python基础 > 异常处理 作者:浮沉 链接:http://www.pythonheidong.com/blog/article/71/ 来源:python黑洞网,专注python资源,python教程,python技术! 我知道你能做到: try: # do something ......
所属网站分类: python基础 > 异常处理
作者:浮沉
链接:
来源:python黑洞网,专注python资源,python教程,python技术!
我知道你能做到:
try: # do something that may fail except: # do this if anything goes wrong你也可以这样做:
try: # do something that may fail except idontlikeyouexception: # say please except youaretooshortexception: # stand on a ladder但如果我想在两个不同的异常中做同样的事情,我现在能想到的最好的就是这样做:
try: # do something that may fail except idontlikeyouexception: # say please except youarebeingmeanexception: # say please有什么办法我可以做这样的事情(因为两个异常的结果都是say please):
try: # do something that may fail except idontlikeyouexception, youarebeingmeanexception: # say please实际上这不起作用,因为python把它当做以下语法:
try: # do something that may fail except exception, e: # say please
因此,在一行中捕获多个异常并没有实现。
有没有办法做到这一点?
通过阅读官方文档,我找到了答案:
except (idontlikeyouexception, youarebeingmeanexception) as e: pass或者(仅适用于python 2):
except (idontlikeyouexception, youarebeingmeanexception), e: pass
使用逗号将变量与变量分开仍然可以在python 2.6和2.7中使用,但在python 3中不起作用; 现在你应该使用as。
下一篇: shell脚本自动检测网络掉线和自动重连