예외 체인

Exception chaining

예외 체인 또는 예외 래핑은 예외를 새 예외 안에 감싼 후 걸린 예외를 다시 던져 예외를 처리하는 객체 지향 프로그래밍 기법이다.원래 예외는 새로운 예외의 속성(원인 등)으로 저장된다.방법은 방법 자체와 동일한 추상화 수준에서 정의되지만 하위 단계의 정보는 폐기하지 않아야 한다는 생각이다.

예를 들어, 동영상 파일을 재생하는 방법은 파일을 읽을 때의 예외를 영화 재생의 예외 안에 다시 던져 처리할 수 있다.사용자 인터페이스는 바이트의 청크를 읽거나 eof()를 호출하는 동안 오류가 발생했는지 알 필요가 없다.원인에서 추출한 예외 메시지만 있으면 된다.사용자 인터페이스 계층은 자체적인 예외 집합을 가질 것이다.원인에 관심이 있는 사람은 디버깅하는 동안 또는 적절한 로그에서 스택 추적을 볼 수 있다.

적절한 종류의 예외를 던지는 것은 자바 프로그래밍 언어의 체크된 예외에 의해 특히 시행되며, 언어 버전 1.4부터 거의 모든 예외는 체인을 지원한다.

Java 또는 와 같은 런타임 엔진 환경.NET에는 런타임 엔진에 부착되는 툴이 존재하며 관심 예외가 발생할 때마다 예외를 발생시킨 시점의 메모리에 존재했던 디버깅 정보(스택 및 힙 값)를 기록한다.이러한 도구를 예외 가로채기라고 하며, 생산, 테스트 또는 개발 환경에서 실행되는 Java 프로그램의 예외에 대한 "근원 원인" 정보를 제공한다.

참조

  • Goetz, Brian (September 14, 2001). "Exceptional practices, Part 2". JavaWorld. Retrieved 2020-07-19.
  • 연결된 예외 - Sun의 Java 자습서