반응형
메서드(Method)에 예외(Exception) 선언하기
메서드 선언부에 키워드 throws를 사용해서 메서드 내에서 발생할 수 있는 예외를 선언할 수 있다.
예외가 여러개일 경우 쉼표(,)로 구분한다.
이런 경우 예외가 처리된것이 아니고 단순히 전달만 하는 것이다.
void method() throws Exception1, Exception2 {
...
}
이렇게 예외를 선언하면 자손타입의 예외까지도 발생할 수 있다는 점을 주의해야 한다.
그렇게 때문에 try-catch문을 사용해 중간에 예외 처리가 되어야 한다.
오버라이딩할 때는 단순히 선언된 예외의 개수가 아니라 상속관계까지 고려해야 한다.
// try-catch문을 사용하지 않았을때
public static void method1() throws Exception {
method2();
}
public static void method2() throws Exception {
throw new Exception();
}
// 사용하는 메서드들의 예외처리가 main 메서드까지 전달되어야 한다.
public static void main(String[] args) throws Exception {
method1();
}
// try-catch문을 사용할 때
public static void method1() {
try {
method2();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void method2() throws Exception {
throw new Exception();
}
// 중간에 예외처리가 되었으므로 thorws Exception을 선언하지 않아도 된다.
public static void main(String[] args) {
method1();
}
반응형
'Java' 카테고리의 다른 글
사용자 정의 예외(Exception) 만들기 (0) | 2021.09.27 |
---|---|
try-catch문 (0) | 2021.09.27 |
예외처리(Exception handling) (0) | 2021.09.20 |
내부 클래스(Inner class) (0) | 2021.09.20 |
인터페이스(Interface) (0) | 2021.09.20 |