충분히 쌓여가는
11.5 예외 떠넘기기 - throws 본문
throws
메소드 내부에서 예외가 발생할 때 try-catch 블록으로 예외를 처리하는 것이 기본이지만,
메소드를 호출한 곳으로 예외를 떠넘길 수도 있고 이때 사용하는 키워드가 throws이다
리턴타입 메소드명(매개변수, ...) throws 예외클래스1, 예외클래스2, ... {
}
throws 키워드가 붙어 있는 메소드에서 해당 예외를 처리하지 않고 떠넘겼기 때문에 이 메소드를 호출하는 곳에서 예외를 받아 처리해야 함
ClassNotFoundException을 throws하는 method2()의 예외를 method1()에서 호출할 때 처리하고 있다
public void method1() {
try {
method2();
} catch(ClassNotFoundException e) {
System.out.printlm("예외 처리: " + e.getMessage());
}
}
public void method2() throws ClassNotFoundException {
Class.forName("java.lang.String2");
}
나열해야 할 예외 클래스가 많을 경우에는 throws Exception 또는 throws Throwable 만으로 모든 예외를 간단히 떠넘길 수 있다
리턴타입 메소드명(매개변수, ...) throws Exception {
}
main() 메소드에서도 throws 키워드를 사용해서 예외를 떠넘길 수 있는데,
결국 JVM이 최종적으로 예외 처리를 하게된다
public static void main(String[] args) throws Exception {
...
}
'이것이 자바다 > 11 예외 처리' 카테고리의 다른 글
11.6 사용자 정의 예외 - 예외 발생 시키기 (0) | 2024.04.08 |
---|---|
11.6 사용자 정의 예외 (0) | 2024.04.08 |
11.3 예외 종류에 따른 처리 - 예외 순서, 다중 catch (0) | 2024.04.08 |
11.2 예외 처리 코드 (0) | 2024.04.08 |
11.1 예외와 예외 클래스 (0) | 2024.04.08 |