티스토리 뷰

반응형

 

오늘은

예외 되던지기와 연결된 예외에 대해 학습하자

 

 

 

🤔 예외 되던지기(exception re-throwing)

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

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

 

백문이 불여일견!!

코드를 통해 확인하자.

public class 예외되던지기 {
    public static void main(String[] args) {
        try {
            method();
        }catch(Exception e) { // 4. (main 메서드에서 예외 처리됨.) 출력
            System.out.println("main 메서드에서 예외 처리됨.");
        }
    }

    static void method() throws Exception {
        try {
            throw new Exception(); // 1. 예외 발생
        }catch(Exception e) { // 2. 예외 처리 (method에서 예외가 처리되었습니다.)출력
            System.out.println("method에서 예외가 처리되었습니다.");
            throw e; // 3. 예외 되던지기
        }
    }
}

 

보통 main 메서드나 method 중 한 곳에서

처리하는데 둘 다 처리하는 것을

'예외 되던지기'라고 한다.

 

 


 

🤔 연결된 예외(chaned exception)

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

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

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

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

 

 

✅ 연결된 예외 사용 이유

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

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

(필수처리를 선택처리로 바꿀 때)

 

 

 

 


이상으로 Ch8강의가 끝났다.

다음에는 Ch 11장으로 찾아오겠다!!

그럼 오늘도 열공하자 😊

반응형