Errors
Errors
Error Handling
Uncaught errors are likely to cause memory leaks, file descriptor leaks and other major production issues. Domains were introduced to try fixing this issue, but they did not. Given the fact that it is not possible to process all uncaught errors sensibly, the best way to deal with them at the moment is to crash. In case of promises, make sure to handle errors correctly.
Fastify follows an all-or-nothing approach and aims to be lean and optimal as much as possible. Thus, the developer is responsible for making sure that the errors are handled properly. Most of the errors are usually a result of unexpected input data, so we recommend specifying a JSON.schema validation for your input data.
Note that Fastify doesn't catch uncaught errors within callback-based routes for you, so any uncaught errors will result in a crash.
If routes are declared as async though - the error will safely be caught by the promise and routed to the default error handler of Fastify for a generic Internal Server Error response. For customizing this behaviour, you should use setErrorHandler.
Fastify Error Codes
FST_ERR_BAD_URL
The router received an invalid url.
FST_ERR_CTP_ALREADY_PRESENT
The parser for this content type was already registered.
FST_ERR_CTP_INVALID_TYPE
The Content-Type should be a string.
FST_ERR_CTP_EMPTY_TYPE
The content type cannot be an empty string.
FST_ERR_CTP_INVALID_HANDLER
An invalid handler was passed for the content type.
FST_ERR_CTP_INVALID_PARSE_TYPE
The provided parse type is not supported. Accepted values are string or buffer.
FST_ERR_CTP_BODY_TOO_LARGE
The request body is larger than the provided limit.
FST_ERR_CTP_INVALID_MEDIA_TYPE
The received media type is not supported (i.e. there is no suitable Content-Type parser for it).