try - catch 문 외에 예외를 호출한 곳으로 다시 떠넘기는 방법
메서드의 선언부 끝에 아래와 같이 throws 키워드와 발생할 수 있는 예외들을 쉽표로 구분하여 나열해주면됨
반환타입 메서드명(매개변수, ...) throws 예외클래스1, 예외클래스2, ... {
...생략...
}
특정 메서드에서 모든 종류의 예외가 발생할 가능성이 있는 경우 아래와 같이 작성할 수 있음
void ExampleMethod() throws Exception {
}
Exception 클래스는 모든 예외 클래스의 상위 클래스이기 때문에 그 하위 클래스 타입의 예외 클래스들이 모두 포함되게 됨
throw 키워드를 사용하면 의도적으로 예외를 발생시킬 수 있다.
public class ExceptionTest {
public static void main(String[] args) {
try {
Exception intendedException = new Exception("의도된 예외 만들기");
throw intendedException;
} catch (Exception e) {
System.out.println("고의로 예외 발생시키기 성공!");
}
}
}
고의로 예외 발생시키기 성공!
try문에 예외가 없으므로 catch문을 실행하지않고 넘어가야하지만 throw intendedException;때문에 예외가 발생했다.