본문 바로가기
Web development/Node.js & Typescript

Express의 오류 처리

by 자몬다 2020. 1. 31.

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()는 실행되지 않는다.

 

댓글