只有当A为假时,A和B,B才会引发异常 - 被认为是一种好的风格?

时间:2009-08-27 08:08:59

标签: coding-style exception

典型例子:

while foo.hasBar() && foo.getBar() != spam
{
     do lots of stuff
}

foo.getBar()如果没有条形,则会引发异常。但是,除非foo有一个条形,否则保证不会评估此表达式。这被认为是一种很好的编程风格吗?

1 个答案:

答案 0 :(得分:2)

如果你正在使用一种语言来保证对布尔值的评估(这很常见,并且被称为short-circuit evaluation),那么是的,那当然可以依赖。

另一方面,在循环中不必要地重复foo.hasBar()测试对我来说似乎非常笨拙。