Skip to content
This repository was archived by the owner on Jun 22, 2025. It is now read-only.

Latest commit

 

History

History
132 lines (80 loc) · 4.9 KB

File metadata and controls

132 lines (80 loc) · 4.9 KB

Fastify

Errors

Manipulalação de erros

É 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.

Fastify códigos de erro

FST_ERR_BAD_URL

O rota recebeu um URL inválido.

FST_ERR_CTP_ALREADY_PRESENT

O analisador para este tipo de conteúdo já estava registrado.

FST_ERR_CTP_INVALID_TYPE

O Content-Type deve ser uma string.

FST_ERR_CTP_EMPTY_TYPE

O tipo de conteúdo não pode ser uma sequência vazia.

FST_ERR_CTP_INVALID_HANDLER

Um manipulador inválido foi passado para o tipo de conteúdo.

FST_ERR_CTP_INVALID_PARSE_TYPE

O tipo de análise fornecido não é suportado. Os valores aceitos são string ou buffer.

FST_ERR_CTP_BODY_TOO_LARGE

O corpo da solicitação é maior que o limite fornecido.

FST_ERR_CTP_INVALID_MEDIA_TYPE

O tipo de mídia recebido não é suportado (ou seja, não há um analisador Content-Type adequado para ele).

FST_ERR_CTP_INVALID_CONTENT_LENGTH

O tamanho do corpo da solicitação não corresponde ao comprimento do conteúdo.

FST_ERR_DEC_ALREADY_PRESENT

Um decorador com o mesmo nome já está registrado.

FST_ERR_DEC_MISSING_DEPENDENCY

O decorador não pode ser registrado devido a uma dependência ausente.

FST_ERR_HOOK_INVALID_TYPE

O nome do gancho deve ser uma sequência.

FST_ERR_HOOK_INVALID_HANDLER

O retorno de chamada do gancho deve ser uma função.

FST_ERR_LOG_INVALID_DESTINATION

O log aceita um 'stream' ou um 'arquivo' como destino.

FST_ERR_REP_ALREADY_SENT

Uma resposta já foi enviada.

FST_ERR_SEND_INSIDE_ONERR

Você não pode usar o send dentro do gancho onError.

FST_ERR_REP_INVALID_PAYLOAD_TYPE

A carga útil da resposta pode ser uma string ou um Buffer.

FST_ERR_SCH_MISSING_ID

O esquema fornecido não possui a propriedade $id.

FST_ERR_SCH_ALREADY_PRESENT

Um esquema com o mesmo $id já existe.

FST_ERR_SCH_NOT_PRESENT

Não existe nenhum esquema com o $id fornecido.

FST_ERR_SCH_BUILD

O esquema JSON fornecido para uma rota não é válido.

FST_ERR_PROMISE_NOT_FULLFILLED

Uma promessa pode não ser cumprida com 'undefined' quando statusCode não for 204.

FST_ERR_SEND_UNDEFINED_ERR

Ocorreu um erro indefinido.