try/catch/finally, throw e erros personalizados
Use try/catch/finally, lance erros simples e defina um pequeno Error personalizado para obter mensagens mais claras
try/catch/finally, throw e erros personalizados é uma aula grátis de JavaScript Academy no CoddyKit. Esta é a aula 1 de 2. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de JavaScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de JavaScript Academy inclui 2 aulas no total.
Introdução ao tratamento de erros
Objetivo: Capture erros com segurança e mantenha os programas estáveis.
- noções básicas de tentativa/captura
- interrompa com uma mensagem clara
- finalmente para limpeza
- erro personalizado pequeno

Noções básicas de tentativa/captura
Envolva operações arriscadas com tentativa. Na captura, mostre uma mensagem curta e útil.
// try/catch around risky code
try {
const data = JSON.parse("{\"name\":\"Ayla\"}");
console.log("Parsed:", data.name);
} catch (e) {
// e.message is short and useful on mobile
console.log("Failed to parse:", e.message);
}

Noções básicas de interrupção
Use interromper novo erro("mensagem") para parar e explicar o que deu errado.
// Throw when inputs are invalid
function doubleNumber(n) {
if (typeof n !== "number") {
throw new Error("Number required");
}
return n * 2;
}
try {
console.log(doubleNumber(4));
console.log(doubleNumber("4")); // will throw
} catch (e) {
console.log("Error:", e.message);
}

Finalmente para limpeza
Finalmente é executado independentemente de a tentativa ter sido bem-sucedida ou ter falhado — é útil para fechar recursos.
// finally runs after try/catch — great for cleanup
let opened = false;
try {
opened = true;
console.log("Opened:", opened);
// Force an error to see finally still run
JSON.parse("{ bad }");
} catch (e) {
console.log("Caught:", e.message);
} finally {
opened = false;
console.log("Closed:", opened);
}

Erro personalizado (introdução)
Crie um InputError pequeno para problemas de entrada. Use instância de para tratá-lo especificamente.
// Make a small custom error
class InputError extends Error {
constructor(message) {
super(message);
this.name = "InputError";
}
}
function positive(n) {
if (typeof n !== "number") {
throw new InputError("Number required");
}
if (n <= 0) {
throw new InputError("Must be positive");
}
return n;
}
try {
console.log("OK:", positive(3));
console.log("Fail:", positive(0));
} catch (e) {
if (e instanceof InputError) {
console.log("Input problem:", e.message);
} else {
// Unknown error: rethrow or log differently
console.log("Unexpected:", e.message);
}
}

Dicas e lista de verificação
Dicas:
- Valide as entradas antecipadamente; lance mensagens curtas.
- Use finalmente para a limpeza (fechar sinalizadores, temporizadores etc.).
- Não ignore erros: registre-os brevemente ou lance-os novamente.

Questionário sobre finalmente
Verificação rápida: comportamento de finalmente.

Recapitulação
Recapitulação: Envolva o código arriscado com tentativa/captura, lance erros curtos e úteis, use finalmente para a limpeza e defina erros personalizados pequenos para um tratamento mais claro.

Perguntas Frequentes
A aula “try/catch/finally, throw e erros personalizados” é grátis?
Sim — o texto completo de “try/catch/finally, throw e erros personalizados” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de JavaScript Academy, atualize para CoddyKit PRO. O curso de JavaScript Academy inclui 2 aulas no total.
O que vou aprender em “try/catch/finally, throw e erros personalizados”?
Use try/catch/finally, lance erros simples e defina um pequeno Error personalizado para obter mensagens mais claras Você pratica JavaScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar JavaScript Academy?
Nenhuma experiência prévia é necessária. JavaScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 2.
Quanto tempo leva a aula “try/catch/finally, throw e erros personalizados”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de JavaScript Academy?
Sim. Cada aula de JavaScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- try/catch/finally, throw e erros personalizados
- Programação defensiva e verificações de entrada