É provável que erros não capturados causem vazamentos de memória, vazamentos no descritor de arquivos e outros problemas importantes em produção. Domínios foram introduzidos para tentar corrigir esse problema, mas não o fizeram. Dado que não é possível processar todos os erros não detectados de maneira sensata, a melhor maneira de lidar com eles no momento é travar. Em caso de promessas, certifique-se de manipular erros [corretamente] (https://github.com/mcollina/make-promises-safe).
O Fastify segue uma abordagem do tipo tudo ou nada e visa ser o mais enxuto e otimizado possível. Assim, o desenvolvedor é responsável por garantir que os erros sejam tratados corretamente. Como a maioria dos erros geralmente resulta de dados de entrada inesperados, recomendamos especificar uma validação JSON.schema para seus dados de entrada.
Observe que o Fastify não captura erros não capturados em rotas baseadas em retorno de chamada para você, portanto, qualquer erro não capturado resultará em uma falha.
Se as rotas forem declaradas como async - o erro será capturado com segurança pela promessa e roteado para o manipulador de erros padrão do Fastify para uma resposta genérica do Internal Server Error. Para personalizar esse comportamento, você deve usar setErrorHandler.
O rota recebeu um URL inválido.
O analisador para este tipo de conteúdo já estava registrado.
O Content-Type deve ser uma string.
O tipo de conteúdo não pode ser uma sequência vazia.
Um manipulador inválido foi passado para o tipo de conteúdo.
O tipo de análise fornecido não é suportado. Os valores aceitos são string ou buffer.
O corpo da solicitação é maior que o limite fornecido.
O tipo de mídia recebido não é suportado (ou seja, não há um analisador Content-Type adequado para ele).
O tamanho do corpo da solicitação não corresponde ao comprimento do conteúdo.
Um decorador com o mesmo nome já está registrado.
O decorador não pode ser registrado devido a uma dependência ausente.
O nome do gancho deve ser uma sequência.
O retorno de chamada do gancho deve ser uma função.
O log aceita um 'stream' ou um 'arquivo' como destino.
Uma resposta já foi enviada.
Você não pode usar o send dentro do gancho onError.
A carga útil da resposta pode ser uma string ou um Buffer.
O esquema fornecido não possui a propriedade $id.
Um esquema com o mesmo $id já existe.
Não existe nenhum esquema com o $id fornecido.
O esquema JSON fornecido para uma rota não é válido.
Uma promessa pode não ser cumprida com 'undefined' quando statusCode não for 204.
Ocorreu um erro indefinido.