Node.js

express에 에러처리

25G 2023. 1. 25. 19:57

express에 에러처리 메커니즘

미들웨어에서 에러가 발생을 하면 익스프레스는 에러가나면 에러처리기로 보냅니다.
이 에러가 발생했을때 에러처리기로 바로 가기때문에 미들웨어를 생략을하고 에러처리기로 가줍니다. 왜냐하면 해당 미들웨어는 에러처리기가 아니기 때문입니다.

  • 에러처리기는 다음과같은 4개의 인자가 들어갑니다. 그래서 미들웨어에서 발생한 에러 메시지를 에러 처리기에서 처리해 줍니다.
  1. error
  2. req
  3. res
  4. next

그래서 일반적인 요청을 처리를 잘 해주게 되지만 비동기 요청이 왔을때는 처리를 할수가 없게 된다. 왜냐하면 비동기처리로 처리가 되게되면 에러 핸들러로 에러가 넘어갈 수 없게 되면서 서버가 망가지게 된다.

그래서 이를 해결 하기위해서 next()함수의 인자에 넣어주게되면 에러처리에 대한 부분을 에러 핸들러로 자동으로 넘겨주기 때문에 비동기요청에서의 처리도 가능해 진다.

다음과 같은 미들웨어를 미들웨어의 가장 마지막에 넣어주게 되면 비동기처리에 대한 에러 요청값도 받을 수 있게 됩니다

'Node.js' 카테고리의 다른 글

Node 에서 단위테스트/ 통합 테스트  (0) 2023.01.25
Jest  (1) 2023.01.25
Node.js ?  (0) 2023.01.25
express/ 미들웨어  (0) 2023.01.25
package.json ?  (0) 2023.01.25