Iniciante Fundamentos
Tratamento de erros
Tratar erros corretamente evita que o programa quebre de forma inesperada. No Node.js usamos try/catch, throw e o tratamento específico para código assíncrono.
try / catch
Envolve o código que pode falhar e captura o erro:
try {
const dados = JSON.parse("texto inválido");
} catch (erro) {
console.error("JSON inválido:", erro.message);
}
Lançar erros com throw
Você pode disparar seus próprios erros:
function dividir(a, b) {
if (b === 0) {
throw new Error("Divisão por zero");
}
return a / b;
}
try {
dividir(10, 0);
} catch (erro) {
console.error(erro.message);
}
Erros em código assíncrono
Com async/await, use try/catch normalmente:
async function ler() {
try {
const dados = await fs.readFile("x.txt", "utf8");
} catch (erro) {
console.error("Erro:", erro.message);
}
}
Erros não capturados
Como rede de segurança, você pode ouvir erros globais:
process.on("uncaughtException", (erro) => {
console.error("Erro fatal:", erro.message);
process.exit(1);
});