O Function Compute captura erros lançados por sua função Node.js e retorna uma resposta estruturada. Este tópico aborda as duas categorias de erros que funções Node.js podem gerar e explica como interpretar os códigos de status HTTP do serviço.
Tipos de erro
Exceções capturadas
Quando sua função lança uma exceção, o Function Compute a captura e retorna um objeto JSON com três campos:
|
Campo |
Descrição |
|
|
String da mensagem de erro |
|
|
Nome da classe de erro JavaScript |
|
|
Array de frames de pilha |
Módulos ECMAScript
A sintaxe de módulos ECMAScript requer Node.js 18 ou posterior. O código de exemplo permite implantação com um clique em ( nodejs-fc-err-es ).
export const handler = async (event, context) => {
throw new Error('oops');
};
Módulos CommonJS
exports.handler = function(event, context, callback) {
throw new Error('oops');
};
Exemplo de resposta:
{
"errorMessage": "oops",
"errorType": "Error",
"stackTrace": [
"Error: oops",
" at handler (file:///code/index.mjs:2:9)",
" at module.exports (file:///var/fc/runtime/nodejs20/bootstrap.mjs:5655:14)",
" at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
]
}
Saídas anormais
Se sua função chamar process.exit() durante a execução, o runtime não conseguirá capturar um erro estruturado. Nesse caso, o serviço retorna uma mensagem genérica:
Módulos ECMAScript
A sintaxe de módulos ECMAScript requer Node.js 18 ou posterior.
export const handler = async (event, context) => {
process.exit(1);
};
Módulos CommonJS
exports.handler = function(event, context, callback) {
process.exit(1);
};
Exemplo de resposta:
{
"errorMessage": "Process exited unexpectedly before completing request (duration: 12ms, maxMemoryUsage: 0MB)"
}
Códigos de status HTTP
Uma resposta 2xx não garante o êxito da função. Verifique o cabeçalho de resposta X-Fc-Error-Type para detectar erros de função retornados com código de status 2xx.
Quando falha uma invocação de função, o Function Compute retorna um código de status HTTP, um corpo de resposta e — para erros no nível da função — um cabeçalho de resposta X-Fc-Error-Type. Analise esses sinais para tratar erros no código ou exibi-los aos usuários finais.
|
Código de status |
Significado |
|
2xx |
O Function Compute recebeu a solicitação. Se a resposta incluir o cabeçalho |
|
4xx (exceto 429) |
O cliente que iniciou a invocação enviou uma solicitação inválida. |
|
429 |
A solicitação foi limitada. |
|
5xx |
Ocorreu um erro interno no Function Compute, a configuração da função é inválida ou há um problema de recurso. |
Para obter a lista completa de erros de invocação e etapas de resolução, consulte Tratamento de erros.