Como a declaração Throw funciona?

A declaração throw em JavaScript é usada para lançar uma exceção definida pelo usuário. Uma exceção em programação é quando um evento inesperado acontece e interrompe o fluxo normal do programa. Como programadores é importante lidar com essas exceções para que seus programas não travem inesperadamente quando ocorrerem erros. Aqui está a sintaxe básica para a declaração throw:
throw expression;
A expression neste caso seria o objeto ou valor que representa a exceção que você deseja lançar. Exemplos disso seriam as classes de exceção internas como as classes Error, TypeError e RangeError. Aqui está um exemplo de uso da declaração throw para lançar um TypeError:
function validateNumber(input) {
  if (typeof input !== "number") {
    throw new TypeError("Expected a number, but received " + typeof input);
  }
  return input * 2;
}
Neste exemplo, estamos verificando se o tipo de input não é do tipo number. Se não, então estamos lançando um TypeError com uma mensagem personalizada. Caso contrário, a função retornará o resultado da multiplicação do input por 2. Se você quiser lançar uma mensagem de erro mais genérica, então pode referenciar o construtor Error assim:
function divide(numerator, denominator) {
  if (denominator === 0) {
    throw new Error("Cannot divide by zero");
  }
  return numerator / denominator;
}
Aqui está um exemplo de uma função que verificará se o denominador é 0. Se for esse o caso, então ele lançará uma mensagem de erro personalizada dizendo Cannot divide by zero. Na próxima lição, veremos como lançar mensagens de erro dentro do contexto do bloco try/catch que é usado para tratar exceções de forma elegante em JavaScript.
Este módulo não possui perguntas. Marque como concluído.