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 체크를 할 수 없게 된다.
반응형