2011-08-20 2 views
0

가능한 중복 :
Is there such case when in try\finally block the finally won't be executed?`try` 블록 도움말 자바

나는 자바에 비교적 새로운 해요 난 그냥 정확히 약 try-catch 블록 (3 분 전 들었어요).

try-catch 블록에서 finally 부분 (있는 경우) 이 아닌이 실행됩니까?

try { 
    if (choice) { 
     //... 
    } else { 
     //... 
    } 
} finally { 
    doesThisEverNOTrun(); 
} 
+4

가능한 중복 [드디어 마지막으로 실행되지 않습니다 차단 시도의 \ 이러한 경우가 있습니까?] (http://stackoverflow.com/questions/3484353/is-there-such-case-when-in 시러 다니구-마지막 블록 - 더 - 최종적 습관 - - 실행) 및 http://stackoverflow.com/questions/6228528/ 및 http://stackoverflow.com/questions/464098/ –

+0

[예] (HTTP : //thedailywtf.com/Articles/My-Tales.aspx). ;) –

답변

0

예.

try { 
    if (choice) { 
     while (true); 
    } else { 
     System.exit(0); 
    } 
} finally { 
    doesThisEverNotRun(YES); 
} 

종종 finally 부분이 실행됩니다. 제 (가상) 시스템이 충돌하지 않는 경우

+0

_ '자주 발생하지 않음'_. 이런, 그건 분명히 유용한 진술이다. '' –

+0

@ 매트 볼은 실제로 * 당신은 그것에 대해 생각 * 유용한 경우 : – fireshadow52

+0

fireshadow52 @ 정말 감사합니다 !!!!!!!!!!!!!! – Tony

0

, 당신은 시도 또는 catch 블록을 System.exit()를 호출하지 않는, finally 블록이 실행됩니다. 의

관련 문제