try catch

송민지·2022년 7월 18일
0

Javascript

목록 보기
17/17

try catch는 실행할 코드블럭을 표시하고, 예외가 발생할 경우 응답을 지정해 주는 문법이다.

try {
  statements
}catch {
  statements
}

try_statements : 실행될 코드블럭
catch_statements : try블록에서 예외가 발생했을 때 실행될 블럭

try 선언은 3가지의 형식이 존재한다.

  1. try...catch
  2. try...finally
  3. try...catch...finally

finally는 try, catch블록이 실행을 마친 후 예외 발생에 상관없이 항상 실행된다.

Node.js / Express.js 에서의 적용

NodeJS 에서 비동기 함수를 작성할 때 대부분의 경우 try catch 문을 작성하지 않는게 오히려 바람직하다.

다만 유일하게 try-catch를 꾸준히 써야 하는 부분이 있는데 바로 컨트롤러 레이어 로직이다.

비동기 코드가 성공하든 에러가 발생하든 결국 클라이언트에게는 정상적인 응답을 내주어야 한다. 그 응답이 해당 요청을 수행할 수 없다는 에러이더라도 말이다.

때문에, 서비스로직까지는 비동기에러를 계속 try-catch 없이 그대로 전파해 주는게 바람직하고,
컨트롤러에선 try-catch를 통해 더 이상 에러가 전파되는것을 차단하고 에러내용을 정리해 400~500번대 상태코드와 함께 응답을 해주는 것이다.

- 비동기 코드 : 어떤 일이 완료되기를 기다리지 않고 다음 코드를 실행하는 코드

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/try...catch

https://helloworldjavascript.net/pages/285-async.html

profile
기록하는 일상

0개의 댓글