// 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);
  }
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: