[Java] Throwable
java.lang.Throwable
extends Object
implements Serializable
Throwable 클래스는 모든 에러/예외에 대한 슈퍼클래스이다.
이 클래스의 인스턴스(or 슈퍼 클래스의 인스턴스)만이
- JVM이나 throw 구문으로 throw될 수 있다.
- catch의 매개변수가 될 수 있다.
오류/예외에 대한 인스턴스는 예외적인 상황이 발생했음을 알려주는 데 사용된다.
이 인스턴스들은 관련된 정보(스택 트레이스 데이터)를 포함하기 위해 예외적인 상황에서 새로 생성된다.
throwable은
- 스레드의 실행 스택 스냅샷 포함
- 에러 정보에 대한 메세지 스트링 포함
- 해당 throwable이 일으킬 수 있는 다른 throwable의 원인 포함
-> throwable 전파 억제 가능- 이 인과 정보의 기록을 chained exception 기능이라고 함
- chained exception: 원인이 그 자체로 원인을 가질 수 있고.. 그렇게 발생하는 예외의 '체인'으로 이어질 수 있음
-> 원인을 가질 수 있는 이유 1. throwable 클래스가 하위 계층 추상화 위에 구축되고, 상위 계층에서의 작업은 하위 계층에서의 장애로 실패하기 때문이다.
-> 이유 2. throw하는 메소드가 직접 throw하는 것을 허용하지 않는 범용 목적 인터페이스에 적합해야 하기 때문이다.
- 이 인과 정보의 기록을 chained exception 기능이라고 함
참고
https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html
Author And Source
이 문제에 관하여([Java] Throwable), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kdkeiie8/Java-Throwable저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)