我有以下Java方法:
public ERROR myMainMethod() {
ERROR ret = invokeFirstSub();
if (ret != ERROR.NO_ERROR) {
return ret;
}
ret = invokeSecondSub();
if (ret != ERROR.NO_ERROR) {
return ret;
}
// you get the rest
}
基本上,在每次子调用之后,我们都会检查返回值并在发生任何错误时退出。如何重构?第一个想法是将整个调用序列放在一个 try-catch 循环中,使用断言并捕获第一个 AssertionError,但我觉得它不太优雅。有什么好的做法?