에러 객체에 사용되는 message프로퍼티

조민호·2023년 8월 14일
0

Error 클래스의 표준 message 프로퍼티는

에러의 일반적인 설명을 나타냅니다.

흔히 JS에서 catch(error) { error.message } 로 접근하는 것들


Error 클래스 or 이를 상속받아 작성한 커스텀 에러 클래스는

모두 message 속성을 가지고 있으며,

이는 에러의 원인이나 상황을 설명하는 문자열을 포함합니다.

  1. 직접 에러를 던지는 경우

    개발자가 특정 상황에서 에러를 던지려고 할 때, message는 그 에러의 원인을 설명하는 문자열로 사용됩니다.

  1. 자연스럽게 발생한 에러 (예측하지 못한)

    예측하지 못한 에러가 발생하면, 시스템 또는 라이브러리가 자동으로 에러 객체를 생성하며, message 속성에는 자동 생성된 설명이 포함됩니다.


만약 커스텀 에러 클래스를 사용하게 될 경우,

  • message프로퍼티는 해당 클래스에서 따로 선언하지 않고 생성자에서 super(message)를 통해 부모 Error 클래스의 message 속성이 해당 문자열로 설정되게 해야 합니다.
  • name 프로퍼티도 new Error () 객체에 존재하는 속성이지만 Error 클래스 생성자는 message만 받으므로 name은 해당 클래스에서 직접 할당해야 합니다.

이렇게 해서 나중에 에러 객체를 핸들링할 때 해당 메시지에 접근할 수 있게 되며, 해당 에러 상황을 더 쉽게 이해하고 대응할 수 있게 됩니다.

profile
웰시코기발바닥

0개의 댓글