Programming/자바(Java)

8-15 예외 + (사용자 정의 예외, 예외 되던지기, 연결된 예외)

먹보 개발자 2024. 10. 7. 16:43

사용자 정의 예외 만들기

- 우리가 직접 예외 클래스를 정의할 수 있다.

- 조상은 Exception과 RuntimeException중에서 선택

 

class MyException extends Exception {

        MyException(String msg) { // 문자열을 매개변수로 받는 생성자

                super(msg); // 조상인 Exception클래스의 생성자를 호출한다.

        }

}

 

예외 되던지기 (re-throwing)

- 예외를 처리한 후에 다시 예외를 발생시키는 것

- 호출한 메서드와 호출된 메서드 양쪽 모두에서 예외처리하는 것

 

연결된 예외 (chained exception)

- 한 예외가 다른 예외를 발생시킬 수 있다.

-  예외 A가 예외 B를 발생시키면, A는 B의 원인 예외(cause exception)

Throwable initCause(Throwable cause): 지정한 예외를 원인 예외로 등록

Throwable getCause(): 원인 에외를 반환

사용하는 이유

1. 여러 예외를 하나로 묶어서 다루기 위해서

2. checked예외를 unchecked예외로 변경하려 할 때