catch块的行为是什么,如果它不在块的末尾。
private Boolean connect(String addr) {
.....
try {
connected = true;
} catch (ExceptionType name) {
//log // print stack trace etc, but no explicit return
} catch (ExceptionType name) {
}
if (some_other_condn) {
..
}
}
如果我不想在块中执行其余的代码,是否需要在catch块内返回?
答案 0 :(得分:3)
是的,如果您不想执行其余代码,则需要从catch
块返回。
或者,最好将其余代码放在try
块本身内。
try {
connected = true;
if (some_other_condn) {
//...
}
} catch (ExceptionType name) {
//log // print stack trace etc, but no explicit return
} catch (ExceptionType name) {
}
答案 1 :(得分:1)
是的,这是正确的。如果你不想执行其余的代码,你需要返回(但是你只会在异常情况下返回,我希望你知道这一点)。成功案例您的return语句将不会执行。