Chained Exception 연결된 예외
특징
- 한 예외가 다른 예외를 발생시킬 수 있다.
- 예외 A 가 예외 B 를 발생시키면, A 는 B 의 원인 예외 (cause exception)
Throwable initCause(Throwable cause)
void install() throws InstallException {
try {
startInstall();
} catch (SpaceException e) {
InstallException ie = new InstallException("설치 중 예외 발생");
ie.initCause(e);
throw ie;
}
}
연결된 예외 사용
- 여러 예외를 하나로 묶어서 다루기 위해 사용
- checked 예외를 unchecked 예외로 변경할 때 사용 (
try-catch
가 필요 없을 때) (Exception
→ RuntimeException
)
throw new RuntimeException(new MemoryException("메모리 부족"));