Py学习  »  Python

在Python[duplicate]中的Try/Exceptions错误处理中是否可以使用“OR”逻辑运算符

N8888 • 4 年前 • 1740 次点击  

假设我有一个使用 try except 子句捕获Python中的错误,如下所示:

try:
    some_action = print('Please answer my question')

except OSError:
    print("Error occured")
except ValueError:
    print("Error occured")
except BaseException:
    print("Error occured")

有没有可能把 除了 使用 OR 以任何方式使用逻辑运算符,例如:

try:
   some_action = print('Please answer my question')

except OSError or ValueError or BaseException:
   print ("Error occured")

我试着调查蟒蛇 documentation 除了 但是我没有找到任何能帮助我回答这个问题的东西。

考虑到 ,用于错误处理,因为人们更喜欢选择性地处理异常,但我认为在某些情况下,使用 操作员可以使代码稍微优雅一些。

例如,使用 if/elif语句中的运算符是可能的:

for i in x:
    if A in i:
        pass
    elif B in i:
        pass
    elif C in i:
        pass
    else:
        print ('no A, B, or C in X')

可以简化为以下几点:

for i in x:
    if A in i or B in i or C in i:
       pass
    else:
       print ('no A, B, or C in X') 
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133514
文章 [ 1 ]  |  最新文章 4 年前