捕获块行为

时间:2012-11-17 03:43:42

标签: java

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块内返回?

2 个答案:

答案 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语句将不会执行。