[Express] - Express에서 에러 처리하기

Donggu(oo)·2024년 8월 10일
0

Node.js

목록 보기
6/9
post-thumbnail
  • 익스프레스에는 앱에서 발생할 수 있는 모든 에러를 처리하는 에러 핸들러가 내장되어 있다. 에러 핸들러를 사용하면 앱에서 에러가 발생했을 때 한 군데서 에러를 처리할 수 있기 때문에 효율적이다.

  • 익스프레스에서 일반적인 미들웨어 함수를 정의하는 것처럼 에러 처리를 위한 미들웨어 함수를 정의하면 된다. 단, 에러 처리 미들웨어 함수는 err, req, res, next 이렇게 4개의 파라미터를 사용한다.

// 에러 처리 핸들러 미들웨어 함수
app.use((err, req, res, next) => {
  // 상태 코드 500 에러 메시지 전달
  res.status(500).json({statusCode:res.statusCode, errMessage:err.message});
});
  • 다음과 같이 에러가 발생했을 때 next() 함수를 사용해서 에러 처리 핸들러로 에러를 전달하고 에러 처리 핸들러에서 클라이언트로 에러에 대한 응답 처리를 수행한다.
app.get('/error2', (req, res, next) => {
  // next() 함수를 사용해서 에러 처리 핸들러로 에러 전달
  next(new Error('에러 발생'));
});

0개의 댓글

관련 채용 정보