실행결과 ExceptionExam2.main(ExceptionExam2.java:8), main 메서드의 8행에서 예외가 발생했고, 따라가보면 실제 예외는 ExceptionExam2의 13행에서 예외가 발생한다고 나옵니다. divide 메서드 내부에서 ArithmeticException이 발생하지 않으려면 13행을 try-catch 블록으로 감싸서 예외를 처리해야 합니다. 그런데 예외를 처리하지 않고 divide 메서드를 호출한 쪽에 예외를 처리하라고 넘길 수 있습니다. 즉, 내가 처리하지 않고 호출한 쪽에서 처리하라고 넘길 수 있는 키워드가 바로 throws입니다. 현재 예제에 throws 키워드를 사용하겠습니다.
package javaStudy;
public class ExceptionExam2 {
public static void main(String[] args) {
int i = 10;
int j = 0;
int k = divide(i, j);
System.out.println(k);
}
public static int divide(int i, int j) throws ArithmeticException{
int k = i/j;
return k;
}
}