// Função que tenta calcular raiz quadrada
function raizQuadrada(numero) {
// Se o número for negativo, não tem raiz real
if (numero < 0) {
// Cria um erro e lança na cara do chamador
let erro = new RangeError("Raiz de número negativo? Tá doido, isso não existe!");
erro.name = "ErroMatematico"; // só pra ficar diferente
throw erro;
}
// Se passou do if, calcula normal
return Math.sqrt(numero);
}
// Agora o teste
try {
let resultado = raizQuadrada(-9);
console.log("Resultado:", resultado); // essa linha nunca roda porque o erro estoura
} catch (erro) {
// Vamos ver que tipo de erro é
if (erro instanceof RangeError) {
console.log("Ôpa, deu erro de intervalo!");
console.log("Nome:", erro.name);
console.log("Mensagem:", erro.message);
} else if (erro instanceof Error) {
console.log("Erro comum:", erro.message);
} else {
console.log("Sei lá o que aconteceu", erro);
}
}
To embed this project on your website, copy the following code and paste it into your website's HTML: