[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의 에러 처리 방법에 대해 알아보았습니다.