-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 に答える