RISK IT

[TIL43_23.2.27.] [2차 프로젝트] 모든 엔드포인트에 대하여 에러핸들링 처리 본문

IT/TIL

[TIL43_23.2.27.] [2차 프로젝트] 모든 엔드포인트에 대하여 에러핸들링 처리

nomoremystery 2023. 3. 1. 00:50
반응형

모든 엔드포인트 에러핸들링 처리

app.all('*', (req, res, next) => {
  const err = new Error(`Can't find ${req.originalUrl} on this server!`);
  err.statusCode = 404;
  next(err);
});

routes 내에서 처리할 수 있는 에러핸들링은 catchAsync 함수와 globalErrorHandling 함수를 utils 폴더에 만들어서 처리했다.
하지만 routes로 처리 되지 않는 엔드포인트에 대해서는 핸들링할 수 있는 코드가 없었으므로 이를 일괄적으로 핸들링하는 코드가 추가됐으면 좋겠다는 리뷰를 받았다.

따라서 모든 엔드포인트에 대해서 존재하지 않는 페이지까지 잡아낼 수 있는 코드를 추가한 모습.

여기서 주의할 점은 위의 코드가 ping-pong health check보다 위에 있어선 안된다는 점이다. 만약 그렇게 된다면, ping-pong 체크를 할 수 없게 된다.

반응형