JavaScript

[JavaScript] 예외 발생시키기 - try / throw / catch / finally

출근침대 2021. 3. 24. 21:48

1. try / catch / finally

var value;

try{
  value = ball;  //1. ball이란 변수가 선언되어 있지 않으므로 에러가 발생됨.
} catch(error)  //2. catch문을 실행한다. error라고 꼭 고정해서 쓰지 않아도 된다.
  console.log("catch 실행");
};

//catch 실행
var sports;

try{
  sports = ball;
} catch(error) {
  log("catch 실행");
} finally {
  log("finally 실행");  // try또는 catch문을 실행한 후 finally블록을 실행시킴.
};

- try문에서 예외 발생을 인식 (주로 에러 상황인듯)

: try문에 작성한 코드에 에러가 발생해도 프로그램은 죽지 않는다.

- 예외가 발생하면 catch 블록 실행

- finally 블록은 예외 발생과 상관없이 실행

- 서버에서 전송하는 것은 에러가 안나니까 try문에 넣어줌.

 

 

 

2. throw

try {
  throw "예외 발생 시킴";  //1. throw 우측에 쓴 message가 error자리에 들어감.
  var sports = "스포츠";  
} catch(error){  //2. error에 "예외 발생 시킴"이란 message가 아래 error에 들어가 결과값이 반환됨.
  console.log(error);
  console.log(sports);  //3. throw 옆의 코드에서 세미콜론이 찍힌 곳까지만 해석하므로 sports는 읽혀지지 못함.
};

//예외 발생 시킴, undefined
try{
  throw{
    msg: "예외 발생시킴",  //1. {name: "메시지"}와 같은 property형태
    bigo: "임의의 이름 사용"
  };
} catch(error){
  console.log(error.msg);
  console.log(error.bigo);
};

// 예외 발생시킴, 임의의 이름 사용
try{
  throw new Error("예외 발생시킴");  //1. 자바스크립트 제공하는 Error 객체를 만들고 파라미터에 메시지를 작성함.
} catch(error){  //2. catch(error)의 error에 Error 오브젝트가 설정된다.
  console.log(error.message);  //3. error.message로 작성한 메시지 사용
};

//예외 발생시킴

-의도적으로 예외를 발생시킴 (try가 오류가 아닌 코드를 throw가 오류로 인지하게 해서 catch로 보냄)

-예외가 발생하면 catch실행

 

 

 

 

출처

- 김영보, 자바스크립트 비기너 www.inflearn.com/course/자바스크립트-비기너#