Java/Java: 문법 정리
[Java] 예외 발생하는 throw와 예외를 던지는 throws 정리
데브마우스
2024. 1. 13. 20:11
예외 발생하는 throw
자바에서는 예외도 하나의 객체입니다. 그렇기에 고의적으로 예외를 생성할 수 있습니다.
예외를 발생하면 해당 메서드에서 예외가 발생됩니다.
public class Main {
public static void main(String[] args) {
try {
Exception e = new Exception("고의 예외");
throw e;
} catch(Exception e) {
e.printStackTrace(); // 출력:고의 예외
}
}
}
예외를 던지는 throws #예외 던지기
앞서 throw가 예외를 자기 자신이 처리했다면 throws는 예외를 자기 자신이 처리하지 않고 다른 메서드에서 예외를 처리하도록 합니다.
public class Main {
public static void main(String[] args) {
try {
System.out.println("try 구문입니다.");
method1st();
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("catch 구문입니다.");
e.printStackTrace();
}
}
public static void method1st() throws Exception {
method2nd(); // method2nd를 호출합니다.
}
public static void method2nd() throws Exception {
System.out.println("method2nd 입니다.");
Exception e = new Exception();
throw e;
}
}
결론
개발자는 예외 처리를 어떻게 할 것인지 상황에 따라서 현명하게 선택해야합니다.