더북(TheBook)

블록 안 메시지 부분만 더 살펴보겠습니다. ArithmeticException라는 예외 객체를 e라는 참조 변수가 가리킵니다. 그리고 e라는 참조 변수는 toString이라는 메서드를 가집니다. toString 메서드는 예외 정보를 알려줍니다. 즉, 괄호 안 메시지 ‘변수명+마침표+toString()’은 예외 정보를 출력한 것입니다.

 

이렇게 작성하고 다시 실행해보겠습니다.

 

실행결과

0으로 나눌 수 없습니다.java.lang.ArithmeticException: / by zero main end!!

 

아까 예외 처리를 하지 않았을 때는 예외가 발생한 지점부터 프로그램을 실행하지 않았습니다. 지금은 catch 블록도, 그 이후 부분도 모두 출력했습니다. 여기에 finally 구문도 만들어 실행해보겠습니다.

package javaStudy;

public class ExceptionExam {

    public static void main(String[] args) {
        int i = 10;
        int j = 0;
        try{
            int k = i/j;
            System.out.println(k);
        }catch(ArithmeticException e) {
            System.out.println("0으로 나눌 수 없습니다."+e.toString());        
        }finally{
            System.out.println("예외와 상관없이 무조건 실행!");    
        }
        System.out.println("main end!!");
    }
}

 

실행결과

0으로 나눌 수 없습니다.java.lang.ArithmeticException: / by zero
예외와 상관없이 무조건 실행!
main end!!
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.