【发布时间】:2022-01-16 19:30:27
【问题描述】:
假设我有一个使用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 逻辑运算符以任何方式组合except 子句,例如以这样的方式:
try:
some_action = print('Please answer my question')
except OSError or ValueError or BaseException:
print ("Error occured")
我试图研究 Python
documentation 在 except 子句上,但我没有找到任何可以帮助我回答这个问题的东西。
也许允许 OR 用于错误处理可能是违反直觉的,因为人们更愿意选择性地处理异常,但我认为在某些情况下,使用 OR 运算符可以使代码稍微更优雅。
例如,可以在 if/elif 语句中使用 OR 运算符:
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 try-catch logical-operators