[Express] 오류 처리
2023. 7. 5. 23:13ㆍ공부 중/Node.js
0. 참고자료
1. 오류 처리
다른 미들웨어 함수와 동일한 방법으로 오류 처리 미들웨어 함수를 정의할 수 있지만, 오류 처리 함수는 3개가 아닌 4개의 인수, 즉 (err, req, res, next)
를 갖는다는 점이 다르다.
app.use(function(err, req, res, next) {
console.error(err.stack);
res.status(500).send('Something broke!');
});
오류 처리 미들웨어는 다른 app.use()
및 라우트 호출을 정의한 후에 마지막으로 정의해야 한다.
사용자의 요청에 적절한 응답을 수행할 방법을 찾지 못하면 최종적으로 에러를 응답한다.
next()
함수로 어떠한 내용을 전달하는 경우('route'
라는 문자열 제외), Express는 현재의 요청에 오류가 있는 것으로 간주한다. (보통 next(err)
)
...
if (err){
next(err);
}
...
이 경우 오류 처리와 관련되지 않은 나머지 라우팅 및 미들웨어 함수를 건너뛴다.
이러한 오류를 어떻게든 처리하기 원하는 경우, 다음 섹션에 설명된 것과 같이 오류 처리 라우트를 작성해야 한다.
app.use((err, req, res, next)=>{
console.error(err.stack);
res.status(500).send('Somethig is wrong!');
});
//app.listen( ... ) 바로 위에 위치
'공부 중 > Node.js' 카테고리의 다른 글
[Express] 보안 (0) | 2023.07.05 |
---|---|
[Express] 미들웨어와 라우터를 활용한 리팩터링 (0) | 2023.07.05 |
[Express] 정적인 파일 서비스 (0) | 2023.07.05 |
[Express] 미들웨어, 라우터 실행순서 (0) | 2023.07.05 |
[Express] 미들웨어 작성 (0) | 2023.07.05 |