【发布时间】:2020-04-16 04:07:10
【问题描述】:
我有一段代码在多个类方法中多次使用。我想把它变成一个单独的函数,但是有问题的代码块是一个带有返回的 if 语句,例如
private void method() {
//..
if (condition) {
//..
return;
}
//..
}
问题在于,如果我将其提取到一个单独的函数中,则返回仅适用于该函数本身,而不再适用于所讨论的类方法。处理这种情况的最佳方法是什么?
【问题讨论】:
-
让新函数返回布尔值,如果新函数返回 false,则返回类方法。
-
没有办法做这样的事情。您可能会尝试抛出一些
Exception,这将终止调用方法的执行,但使用异常进行代码流控制是一种不好的做法。