발생한 오류의 구체적인 원인을 나타낸다.
cause
프로퍼티는 약속된 것이다. 다음과 같이 Error
객체를 생성시 두 번째 인수를 객체로 지정할 때 cause
프로퍼티를 사용한다. 그리고 cause
프로퍼티에 원하는 모든 유형의 데이터를 대입할 수 있다. 대입할 데이터는 오류에 관한 다양한 정보일 수 있으며 try...catch
구문의 try
블럭에서 던져진 Error
객체일 수도 있다. 후자의 경우는 catch
블럭에서 다시 Error
객체를 던질 경우에 연관된 다른 catch
블럭에서 원래 오류에 관한 정보를 활용하는 데 목적이 있을 수 있다. 이것을 기술적으로 "예외 감싸기(wrapping exception)"라고 부른다. 아래의 [예제]에서 간단한 관련 코드를 확인할 수 있다.
error.cause
분류 | 값 | 설명 |
---|---|---|
configurable | yes | |
enumerable | no | |
writable | yes |