자바스크립트에서 Error 객체 확장하는 효과적인 방법
이해하기 쉬운 Error 객체 확장법
자바스크립트에서 프로그래밍을 하다 보면, 특별한 유형의 에러를 만들어야 할 때가 있습니다. 기본적인 Error
객체만으로는 충분하지 않을 때가 있는데, 이럴 때 Error 객체를 확장(extend)하면 됩니다.
자바스크립트에서의 객체 확장이란 무엇인가?
객체 확장이란, 기존의 객체에 새로운 속성이나 메서드를 추가하여 더 유용하게 만드는 것을 말합니다. 자바스크립트에서는 prototype
을 사용하여 객체를 확장할 수 있습니다.
기본 Error 객체의 한계
자바스크립트의 기본 Error
객체는 매우 기본적인 정보만을 제공합니다. 예를 들어, 어떤 에러가 발생했는지 메시지는 알려주지만, 그 이유나 어떤 조건에서 발생했는지는 알려주지 않습니다. 이러한 정보가 필요할 때 Error 객체를 확장하면 됩니다.
Error 객체 확장의 기초
다음은 Error
객체를 확장하는 간단한 예시입니다.
1
2
3
4
5
6
7
class CustomError extends Error {
constructor(message, extra) {
super(message);
this.name = "CustomError";
this.extra = extra;
}
}
여기서 CustomError
라는 새로운 클래스를 만들었고, Error
를 확장(extends)했습니다. super(message);
라인은 부모 클래스인 Error
의 생성자를 호출하는 것입니다. this.name
과 this.extra
는 새로 추가한 속성입니다.
확장된 Error 객체 사용하기
새로 만든 CustomError
객체는 이렇게 사용할 수 있습니다.
1
2
3
4
5
6
try {
throw new CustomError("Something went wrong", { code: 404 });
} catch (e) {
console.log(e.message); // "Something went wrong"
console.log(e.extra); // { code: 404 }
}
이런 식으로 자바스크립트에서는 Error
객체를 확장하여 더 많은 정보를 제공하거나 특별한 동작을 할 수 있게 만들 수 있습니다. 이를 통해 코드의 가독성과 유지 관리성이 높아지며, 디버깅도 더 쉬워집니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.