사용자 정의 예외 만들기
- 우리가 직접 예외 클래스를 정의할 수 있음
- 조상은
Exception
과RuntimeException
중에서 선택
1 | class MyException extends Exception { |
2 | MyException(String msg) { // 문자열을 매개변수로 받는 생성자 |
3 | super(msg) // 조상인 Exception클래스의 생성자를 호출 |
4 | } |
5 | } |
예외 되던지기(exception re-throwing)
- 예외를 처리한 후에 다시 예외를 발생시키는 것
- 호출한 메서드와 호출된 메서드 양쪽 모두에게 예외처리하는 것
- 분담처리할때 사용하는 경우가 많음
1 | class example { |
2 | public static void main(String[] args) { |
3 | try { |
4 | method1(); |
5 | } catch (Exception e) { |
6 | System.out.println("main메서드에서 예외가 처리되었습니다."); |
7 | } |
8 | } // main메서드의 끝 |
9 | |
10 | static void method1() throws Exception { |
11 | throw new Exception(); |
12 | } catch (Exception e) { |
13 | System.out.println("method1메서드에서 예외가 처리되었습니다."); |
14 | throw e; |
15 | } // method1메서드의 끝 |
16 | } |