[nodejs] Fastify 에러 처리 방법

Fastify는 빠르고 효율적인 Node.js 프레임워크로, 에러 처리를 위한 강력한 기능을 제공합니다. 이 글에서는 Fastify에서 발생하는 에러를 처리하고 관리하는 방법에 대해 알아보겠습니다.

기본적인 에러 처리

Fastify 앱에서 에러를 처리하는 가장 기본적인 방법은 .setErrorHandler 메소드를 사용하는 것입니다. 아래는 예제 코드입니다.

fastify.setErrorHandler(function (error, request, reply) {
  fastify.log.error(error)
  reply.code(500).send('Internal Server Error')
})

위 코드에서 setErrorHandler 메소드를 사용하여 전역적인 에러 핸들러를 설정하고 있습니다. 이 핸들러는 앱 내에서 발생하는 모든 에러를 잡아내고 클라이언트에 적절한 에러 응답을 제공합니다.

특정 경로의 에러 처리

특정 경로에서만 발생하는 에러를 처리하고 싶다면, 해당 경로의 핸들러 내에 reply.send(err)를 사용하여 에러 응답을 보낼 수 있습니다. 아래는 예제 코드입니다.

fastify.get('/special-path', function (request, reply) {
  // 특정 경로에서 에러 발생
  const err = new Error('Something went wrong')
  reply.send(err)
})

이 경우에는 /special-path에서 발생한 에러를 해당 핸들러 내에서 처리하여 클라이언트에게 응답을 보낼 수 있습니다.

HTTP 상태 코드 처리

reply 객체를 사용하여 HTTP 상태 코드를 설정할 수 있습니다. 예를 들어, reply.code(404)를 사용하여 404 상태 코드를 설정할 수 있습니다.

결론

Fastify는 강력한 에러 처리 기능을 제공하여 Node.js 앱의 안정성을 높일 수 있습니다. 위에서 언급한 방법들을 통해 앱 내에서 발생하는 다양한 상황에 대응할 수 있을 것입니다.

이상으로 Fastify의 에러 처리 방법에 대해 알아보았습니다.

참고 문헌