Ch8-18. 연결된 예외
0. 목차
Chapter8. 예외처리
Ch8 - 18. 연결된 예외(chained exception)
Ch8 - 18. 연결된 예외(chained exception)
▶ 연결된 예외(chained exception)란?
▷ 한 예외가 다른 예외를 발생시킬 수 있음
▷ 예외A가 예외B를 발생 시키면, A는 B의 원인 예외(cause exception)
Throwable initCause(Throwable 예외A) // 지정한 예외를 원인 예외로 등록
Throwable getCause() // 원인 예외를 반환
▶ Throwable?
▷ Throwable은 Exception이라 생각하고 사용
public class Throwable implements Serializable {
private Throwable cause = this; // 객체 자신(this)을 원인 예외로 등록
public synchronized Throwable initCouse(Throwable cause) {
this.cause = cause; // cause를 원인 예외로 등록
return this;
}
}
▶ 예시
▷ 원인 예외 때문에 만들어진 연결된 예외
▶ 연결된 예외를 사용하는 이유?
▷ 여러 예외를 하나로 묶어 다루기 위해
▷ checked예외를 unchecked예외로 변경 할 때
▷ 즉 필수 처리를 선택 처리로 변경할 때
▷ 보통 예외 선언을 하는 건 checked예외 = Exception자손 = 예외 필수 처리
-
checked예외일 때
-
unchecked예외일 때