【发布时间】:2014-02-07 20:50:36
【问题描述】:
void A() {
B();
// return; <- compiler error "unreachable code"
if (true) return; // <- this works
// code that I will test later
...
C();
D();
}
这就是我现在所做的。是否有一个简单的“exit;”或“return;”在不使用if 的情况下不会产生"unreachable code" 错误?
只是为了说清楚:if (true) return; 有效(带有警告“死代码”,我不在乎并且可以压制)!
如果我只是使用return; 只有那么我会得到"unreachable code" 错误。
注意:一个简单的“这不能不使用if”也是可以接受的答案,提供参考。
【问题讨论】:
-
如果你只想测试 B() 为什么不直接调用 B()?考虑将你的代码“切割”成更小的方法来自己测试。作为一个想法,我这些天写的大多数方法都在十行以下。这需要一些思考,但这将解决您的问题而无需任何麻烦。只需使用最小的方法并在此级别上编写单元测试。
-
如果您想避免警告,请使用混淆的
true- 例如,调用另一个始终返回true的方法,或使用设置为true的static布尔值.