2014-10-02 6 views
-1

나는 finally 블록의 사용을 이해하지 못한다 ... try-catch 블록에서, 우리가 마침내 사용하든 그렇지 않든간에 우리 코드를 똑같이 사용할 수있다.는 try-catch와 마침내 같은 try-catch가 아닙니다.

try 
    { 
     System.out.println(1/0); 
    } 
    catch(ArithmeticException e) 
    { 
     System.out.println("Error"); 
    } 
    finally 
    { 
     System.out.println("After try-catch"); 
    } 

이 : 예 이러한 코드 차이 무엇 논리적 출력 또는 코드를 실행하는 계층 구조의 차이가 무엇

try 
    { 
     System.out.println(1/0); 
    } 
    catch(ArithmeticException e) 
    { 
     System.out.println("Error"); 
    } 

    System.out.println("After try-catch"); 

???

답변

1

finallyALWAYS 이러한 System.exit() 통화 또는 갑자기 종료 스레드 특정 사례를 제외하고 실행할 것이다.

은 항상 JLS 모든 행동 내가 finally 블록하지 않고 캐치 후 내 코드를 작성하는 경우에도, 항상 예외가 발생했을 경우, 또는 여부를 실행합니다

+0

을 정의! –

+0

@Ahmad. 예외가 던져 지거나'RuntimeException'이 발생한 경우가 아닙니다. – epoch

+0

"예외가 발생하면"무슨 뜻입니까 ?? 예를 들어 말해 줄 수 있니? –