http://expressjs.com/ko/guide/error-handling.html
Express 오류 처리
오류 처리 다른 미들웨어 함수와 동일반 방법으로 오류 처리 미들웨어 함수를 정의할 수 있지만, 오류 처리 함수는 3개가 아닌 4개의 인수, 즉 (err, req, res, next)를 갖는다는 점이 다릅니다. 예를 들면 다음과 같습니다. app.use(function(err, req, res, next) { console.error(err.stack); res.status(500).send('Something broke!'); }); 오류 처리 미들웨어는
expressjs.com
Express Document를 읽고 알게 된 사항을 정리함.
- app.use와 app.post 등등의 차이점
- app.use는 app.post, app.get과 달리 요청 메서드를 가리지 않고 모두를 핸들링하겠다는 의미이다.
- next()
- 미들웨어 함수에 4번째 인자가 있으면 오류 처리 함수라는 의미이다.
- 4번째 인자는 next()함수이다.
- next() 함수는 같은 url을 갖는 다음 미들웨어로 넘기는 역할을 한다.
- next() 함수의 인자에 어떤 값이든 전달시 오류가 있는 것으로 간주하고 나머지 라우팅과 미들웨어 함수를 건너뛴다.
- 단, next('route')를 하는 경우 같은 url을 갖는 다음 미들웨어로 넘어간다.
- 응답 코드(res.send() 등)가 실행된 후의 next()는 실행되지 않는다.
'Web development > Node.js & Typescript' 카테고리의 다른 글
[Javascript] List/Set/ Map 순회하기 (0) | 2020.02.09 |
---|---|
[Javascript] 함수와 일급객체, 고차함수와 클로저 (0) | 2020.02.06 |
Error: listen EADDRINUSE: address already in use :::3001 (0) | 2020.02.05 |
map 안에서 async/await 사용시 Promise가 리턴되는 문제 (0) | 2020.01.23 |
[Javascript] 특정 문자열 잘라내기 (0) | 2020.01.23 |
댓글