Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript throw 문이란? 예외 발생과 처리 방법 총정리

JavaScript throw 문이란?

JavaScript에서 throw 문은 의도적으로 예외(exception)를 발생시키기 위해 사용하는 구문입니다. 이를 통해 자바스크립트가 기본적으로 제공하는 내장 예외뿐만 아니라, 개발자가 직접 정의한 사용자 지정 예외도 만들어 낼 수 있습니다.

throw 문으로 발생시킨 예외는 이후 try...catch 블록에서 포착(catch)할 수 있으며, 프로그램이 비정상적으로 종료되지 않도록 상황에 맞는 적절한 오류 처리 로직을 실행할 수 있습니다.

throw 문의 동작 방식

throw 문은 문자열, 숫자, 불리언, 객체 등 어떤 값이든 던질 수 있습니다. 다만 실무에서는 오류 메시지와 스택 추적 정보를 함께 담을 수 있는 Error 객체를 사용하는 것이 가장 좋습니다.

예제 코드

다음 코드는 0으로 나누려는 상황에서 throw 문으로 직접 예외를 발생시키고, catch 블록에서 이를 처리하는 예제입니다.

<html>
   <head>
      <script>
         <!--
            function myFunc()
            {
               var a = 100;
               var b = 0;
               try{
                  if ( b == 0 ){
                     throw( "Divide by zero error." );
                  } else {
                     var c = a / b;
                  }
               }
               catch ( e ) {
                  alert("Error: " + e );
                }
            }
         //-->
      </script>
   </head>

   <body>
      <p>Click the following to see the result:</p>
      <form>
         <input type = "button" value = "Click Me" onclick = "myFunc();" />
      </form>
   </body>
</html>

코드 설명

  • 변수 b의 값이 0인지 검사하고, 0이라면 "Divide by zero error."라는 메시지와 함께 예외를 발생시킵니다.
  • 발생된 예외는 catch 블록의 변수 e로 전달되며, alert()을 통해 사용자에게 오류 내용을 표시합니다.
  • b가 0이 아니라면 나눗셈이 정상적으로 수행되고 예외는 발생하지 않습니다.

마무리

이처럼 throw 문과 try...catch 문을 함께 활용하면, 개발자가 예상 가능한 오류 상황을 스스로 판단하고 이를 우아하게 처리할 수 있습니다. 특히 입력값 검증이나 API 응답 처리처럼 오류가 발생하기 쉬운 로직에서 적극적으로 활용해 보세요.