Front-end/JavaScript

JS 에러 핸들링 1편 - Error 생성자

파리외 개발자 2023. 7. 28. 22:59

다른 변수와 비슷하게 에러 또한 생성자가 존재한다.

에러 생성자는 다른 생성자와 마찬가지로 new 연산자를 통해 생성이 가능하며

콘솔에 에러 메시지를 지정해서 보여줄 수 있다.

throw

throw는 프로그램 동작을 멈추게 되는데

에러 생성자는 보통 throw와 함께 사용된다

 

에러 객체

생성자로 생성된 에러는 객체 형태를 가지는데

에러 객체의 message는 에러 메시지

stack은 에러가 발생한 위치를 알린다.

이 외에 name속성이 기본적으로 있다.

function a() {
  const b = new Error("in a");
  return b;
}

a(); //stack
a().stack;

함수 a는 에러 객체를 리턴하며 a를 실행시키면 메시지와 스택이 함께 출력된다.

항상 콘솔에서 보던 에러 메시지는 이런 형식으로 만들어진 것이다.

그 외

new SyntaxError();
// (,//syntax err

new ReferenceError();
// some//reference err

// if programmer dont catch exception,
// Runtime catch: onerror()
// process.on('uncaughtExceoption')

에러의 종류가 많은 만큼 기본적으로 제공되는 에러생성함수들이 존재한다.

위는 문법에러일 시 사용되고

참조 에러 함수도 존재한다.

만약 프로그래머가 이런 식으로 에러를 처리하지 못한다면 

런타임 시 프로세스 레벨에서 알 수 없는 에러가 발생했다고 처리하기도 한다.

'Front-end > JavaScript' 카테고리의 다른 글

JS 에러 핸들링 3편 - promise catch  (0) 2023.07.31
JS 에러 핸들링 2편 - catch  (0) 2023.07.29
JS 모듈 4편 - ES6 module  (0) 2023.07.25
JS 모듈 3편 - commonJS & AMD  (0) 2023.07.23
JS 모듈 2편 - IIFE Module Pattern  (0) 2023.05.22