본문 바로가기

02. JavaScript/01. 기본개념, 문법 (ES6)

JavaScript_02. 문법_16_Error

※ 본 내용은 해당 교재를 참고하여 공부한 내용과 본인의 생각을 정리한 글입니다.

https://www.yes24.com/Product/Goods/105608999

 

바닐라 자바스크립트 - 예스24

실무 역량까지 한 번에 잡을 수 있는바닐라 자바스크립트 이론서자바스크립트는 이제 브라우저를 넘어 웹 애플리케이션뿐만 아니라 마이크로 컨트롤러까지 점점 사용하는 곳이 늘어나고 있다.

www.yes24.com

 

 

 자바스크립트에서 오류는 try...catch 문을 통해 관리할 수 있다. try...catch문은 실행할 코드를 try 블록에 작성하고, 예외(exception)가 발생(throw)할 경우 예외에 대한 처리를 지정한다.

 

Try 선언의 구성은 다음과 같다.

-try...catch

-try...finally

-try...catch...finally

 

 

● 오류 유형

 Error 객체는 런타임 오류가 발생했을 때 생긴다. 오류가 발생했을 때 오류 메세지에 따른 내용을 이해하고 있으면 오류에 대한 빠른 조치가 가능해진다. 전부 외울 필요는 없고, 개인적으로 자주 발생했던 에러만 진하게 표기하였다.

 

오류 내용
EvalError 전역 함수 eval()에서 발생하는 오류 인스턴스를 생성한다.
RangeError 숫자 변수나 배열처럼 유효한 범위를 벗어났을 때 오류 인스턴스를 생성한다.
ReferenceError 정의되지 않은 함수, 변수 등 잘못된 참조를 했을 때 오류 인스턴스를 생성한다.
SyntaxError Eval() 코드를 분석하는 중 잘못된 구문이 있으면 오류 인스턴스를 생성한다.
URIError encodeURI()decodeURI() 함수에 적절하지 않은 인수를 제공했을 때 오류 인스턴스를 생성한다.
AggregateError 하나의 동작이 여러 개의 오류를 발생시키는 경우, 여러 오류를 하나의 오류로 감싸는
인스턴스를 생성한다.
InternalError 자바스크립트 엔진 내부에서 오류가 발생했을 때 오류 인스턴스를 생성한다.

 

<!DOCTYPE html>
<html>
  <head>
    <title>Document</title>
  </head>
  <body>
    <script>
      try {
        nonExistentFunction(); // 존재하지 않는 함수 호출
      } catch (error) {
        console.error(error); // ReferenceError: nonExistentFunction is not defined
      } finally {
        console.log(
          "try 코드 블록이 정상적으로 수행이 되든, 오류를 발생하든 상관없이 무조건 실행해야 할 코드를 작성합니다."
        );
      }

      var x = 5;

      try {
        if (x == "") throw "empty";

        var y = x + 3;
        console.log(y);
      } catch (err) {
        console.log(`x is ${err}`);
      } finally {
        console.log("try/catch문 제일 마지막에 반드시 실행");
      }
    </script>
  </body>
</html>

console