[javascript] 사용자 정의 에러 핸들링 방법

JavaScript에서 사용자가 발생시킨 에러를 올바르게 처리하는 것은 애플리케이션의 안정성과 오류 디버깅을 위해 매우 중요합니다. 이 문서에서는 JavaScript에서 사용자 정의 에러를 핸들링하는 방법에 대해 설명하겠습니다.

에러 생성하기

첫 번째로, 사용자 정의 에러를 생성해야합니다. JavaScript에서는 Error 클래스를 사용하여 사용자 정의 에러를 생성할 수 있습니다. 다음은 간단한 사용자 정의 에러를 생성하는 예제입니다.

class CustomError extends Error {
  constructor(message) {
    super(message);
    this.name = "CustomError";
  }
}

위 예제에서 CustomError 클래스는 Error 클래스를 상속받아 생성되었습니다. 이 클래스에는 생성자가 정의되어 있으며, 에러 메시지를 전달받아 부모 클래스의 생성자에게 전달합니다. 또한, name 속성을 지정하여 사용자 정의 에러의 이름을 설정할 수 있습니다.

에러 핸들링하기

에러를 생성한 후에는 해당 에러를 적절히 처리해야 합니다. 에러를 핸들링하는 방법은 여러 가지가 있으며, 이는 개발자의 요구에 따라 다를 수 있습니다. 아래는 대표적인 핸들링 방법의 예시입니다.

try-catch 문 사용하기

가장 간단한 방법은 try-catch 문을 사용하여 에러를 핸들링하는 것입니다. try 블록 내에서 발생한 에러가 catch 블록에 전달되며, 이를 활용하여 에러를 처리할 수 있습니다.

다음은 try-catch 문을 사용하여 에러를 처리하는 예제입니다.

try {
  // 에러가 발생할 가능성이 있는 코드
  throw new CustomError("에러 메시지");
} catch (error) {
  // 에러를 처리하는 코드
  console.error(error);
}

위 예제에서 try 블록 내에서 throw 문을 사용하여 CustomError를 발생시키고, catch 블록 내에서 해당 에러를 error 변수로 전달받아 처리합니다. 이를 통해 에러가 발생한 경우에 대한 대응 로직을 작성할 수 있습니다.

전역 에러 핸들러 등록하기

try-catch 문이나 예외 처리가 불가능한 비동기 코드의 경우, 전역 에러 핸들러를 등록하는 방법을 사용할 수 있습니다. 이는 애플리케이션 전체에서 발생하는 모든 에러를 한 곳에서 처리할 수 있도록 도와줍니다.

다음은 전역 에러 핸들러를 등록하는 예제입니다.

window.onerror = function(message, source, line, column, error) {
  // 에러를 처리하는 코드
  console.error(error);
};

위 예제에서 window.onerror 함수를 사용하여 전역 에러 핸들러를 등록합니다. 이 함수는 에러 메시지, 에러가 발생한 소스 URL, 에러가 발생한 줄 번호, 열 번호, 그리고 발생한 에러 객체인 error를 인자로 받습니다. console.error 함수를 사용하여 에러를 출력하거나 로깅할 수 있습니다.

결론

JavaScript에서 사용자 정의 에러를 핸들링하는 방법에 대해 알아보았습니다. try-catch 문이나 전역 에러 핸들러 등록을 통해 에러를 적절하게 처리할 수 있으며, 이를 통해 애플리케이션의 오류 관리와 디버깅을 향상시킬 수 있습니다.

참고 자료: