2012-11-17 2 views
-4

캐치 블록의 동작이 블록의 끝 부분에없는 경우 어떤 동작입니까? 내가 블록의 코드의 나머지 부분을 실행하지 않으려면캐치 블록 동작

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

그리고 프로그램에서 시도하지 않은 사람이 대답 할 것이라고 생각하는 이유는 무엇입니까? – Rndm

+2

이 질문은 편집 권한을 얻는 데 시간이 오래 걸릴 정도로 담당자를 줄일 수 있습니다. 우리를 하인으로 사용하지 마십시오. – Doorknob

+0

나는 자바에 능숙하지 않다. 또한 사람들이 그것을 가볍게 생각할 것이라고 생각했습니다. 미안해. 네가하는 말처럼 들렸다. – bsr

답변

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

네, 맞습니다. 나머지 코드를 실행하고 싶지 않으면 반환해야합니다 (예외적 인 경우에만 반환됩니다. 알고 싶습니다.). 성공 사례는 return 문을 실행하지 않습니다.