-4

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

4

2 回答 2

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) {

}
于 2012-11-17T03:44:53.323 回答
1

对,那是正确的。如果您不想执行其余代码,则需要返回(但您只会在异常情况下返回,我希望您知道这一点)。成功案例您的 return 语句将不会执行。

于 2012-11-17T03:44:49.120 回答