这是在Python中,但可以应用于任何语言。
a = None
if (not a) or (a+3==5):
print("Is this okay?")
在if语句中使用a+3
是否是良好的编程习惯,即使a
为None
会导致错误?
我依赖于or
在错误发生前停止,如果a
实际上是其他不支持添加的内容,或or
,这对我来说似乎是一个坏主意。 1}}语句(在其他语言中)查看两个值。
对此进行编程的最佳方法是什么?
答案 0 :(得分:1)
是的,您可以依靠短路来执行错误处理和验证。
但是在您的情况下,您的逻辑是错误的,您需要and
来执行此错误处理
if a and (a+3==5):
或者你甚至可以进行类型检查
if isinstance(a, int) and (a+3==5):
在阅读+
操作