🖥️Frontend/JavaScript

[JavaScript] Exception & trycatch & throw

뉴발자 2023. 10. 17.
728x90

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

그림 1. JavaScript

 

 

예외란?

개발을 하면서 '예외(Exception)'라는 단어를 자주 접하게 된다.

 

'예외'란 생성된 정상적인 동작에서 어긋나 예외 상황이나 에러가 발생하는 경우를 뜻한다.

 

JavaScript에서는 예외 발생을 처리하기 위해서 try/catch문을 사용해서 작성하게 된다.

 

 

try/catch/finally문

try문 안에는 예외가 발생할 지도 모르는 동작의 코드를 작성한다.

 

catch문 안에는 try문의 예외 발생 시 처리할 동작의 코드를 작성한다.

 

finally문 안에는 try문, catch문의 동작이 끝나면 실행될 코드를 작성한다.

 

catch문과 finally문은 생략해서 사용해도 되지만,

 

try문을 사용하는 의미가 없어지기 때문에 하나 이상의 블록과 같이 사용하는 것이 좋다.

 

아래는 try/catch/finally문을 사용해 작성된 코드이다.

 

try/catch/finally문 예시 코드

const sum = (x, y) => {
  try { 
    return x + y;
    
  } catch(err) {
    console.error(err);
    
  } finally {
    console.log("테스트 코드 출력");
  }
}

 

위의 코드는 x값과 y값을 입력 받아 더해주는 코드이다.

 

하지만 x, y값을 숫자가 아닌 문자를 넣어도 JavaScript에서는 정상적으로 동작하게 되고 예외가 발생하지 않게 된다.

 

따라서, 예외를 강제로 발생시켜야 되는 상황에는 'throw'를 사용하게 된다.

 

 

throw란?

throw란 '던지다'라는 뜻의 단어이다.

 

throw는 예외가 발생하지 않더라도 예외 상황이나 에러를 알려주는 역할을 한다.

 

위의 코드처럼 정상적인 결과 값을 기대할 수 없는 상황에서 throw를 사용할 수 있다.

 

throw문 예시 코드

const sum = (x, y) => {
  try {
    if(typeof x !== "number && typeof y !== "number) {
      throw "매개변수의 값이 숫자가 아닙니다.";
    }
    
    return x + y;
    
  } catch(err) {
    console.error(err);
    
  } finally {
    console.log("테스트 코드 출력");
  }
}

 

위의 코드처럼 문자열로 작성해도 상관없지만, 구체적인 정보를 얻기 위해선 Error 객체와 함께 사용해주는 것이 좋다.

 

const sum = (x, y) => {
  try {
    if(typeof x !== "number && typeof y !== "number) {
      throw new Error("매개변수의 값이 숫자가 아닙니다.");
    }
    
    return x + y;
    
  } catch(err) {
    console.error(err);
    
  } finally {
    console.log("테스트 코드 출력");
  }
}

 

 

참고 사이트

https://velog.io/@nemo/throw

 

[JavaScript] throw 문으로 에러 지정하기 (예외 처리)

throw 문은 사용자가 정의한 '예외'를 발생시킬 수 있다. '예외'가 발생하면 함수가 중지되고 catch문으로 전달된다. catch문이 없다면 프로그램이 종료된다.throw 문에 대해 알게 되었을 때, '예외'라

velog.io

 

https://webclub.tistory.com/71

 

예외 처리 - throw 및 try/catch/finally

throw & try/catch/finally(Exception Handling) 이 글에서는 예외 처리 방식에 대해 알아봅니다. 프로그램이 실행되는 동안 문제가 발생하면 프로그램이 자동으로 중단됩니다. 이럴 경우에 프로그램이 대처

webclub.tistory.com

 

 

 

 

 

 

 

 

 

 

728x90

댓글