Javascript | Try ~ Catch | 예외 처리하기

space's pace·2022년 6월 27일
0

Javascript

목록 보기
3/20
post-thumbnail

Try-Catch문이란?

try...catch 문은 실행할 코드블럭을 표시하고 예외(exception)가 발생(throw)할 경우의 응답을 지정합니다.

Syntax

try {
  try_statements
}
[catch (exception_var) {
  catch_statements
}]
[finally {
  finally_statements
}]

try_statements
실행될 선언들
catch_statements
try 블록에서 예외가 발생했을 때 실행될 선언들
exception_var
catch 블록과 관련된 예외 객체를 담기 위한 식별자
finally_statements
try 선언이 완료된 이후에 실행된 선언들. 이 선언들은 예외 발생 여부와 상관없이 실행된다.

try...catch는 오직 런타임 에러에만 동작한다.

try 선언의 구성은 하나 혹은 그 이상의 선언을 포함한 try 블록 및 catch 항목이나 finally 항목 중 최소한 하나 혹은 둘 다 포함하여 이루어진다. 즉, try 선언에는 세 가지 형식이 존재한다.

1. try...catch

2. try...finally

3. try...catch...finally

catch 블록은 try 블록 안에서 예외가 발생(throw)하는 경우 무엇을 할지 명시하는 코드를 포함한다. try 블록 내의 명령문이 예외를 throw 하면 제어가 catch 블록으로 이동한다. try 블록에 예외가 발생하지 않으면 catch 블록을 건너뛴다.

finally 블록은 try 블록과 catch 블록(들)이 실행을 마친 후 항상 실행된다. 예외가 발생했는지에 관계없이 항상 실행된다.

try...catch는 동기적으로 동작한다.

setTimeout이나 Promise처럼 비동기적으로 동작하는 코드에서 발생한 에러는 try...catch에서 잡아낼 수 없다.

try {
  setTimeout(() => {
    noSuchVariable;
  }, 1000);
} catch (error) {
  console.error('에러 발생!');
}
profile
블로그 이사 준비중!

0개의 댓글