Até agora, escrevemos códigos assumindo que tudo sempre vai dar certo. Mas, na vida real, erros acontecem — e o JavaScript precisa saber como reagir a eles.

Nesta aula, vamos aprender a capturar erros e lidar com eles de forma controlada usando try, catch e finally.

🎯 Objetivo da aula

Ao final desta aula, você será capaz de:

  • Entender o que é um erro em JavaScript
  • Usar try para testar um bloco de código
  • Capturar erros com catch
  • Executar código sempre com finally
  • Evitar que a aplicação quebre

O que é um erro em JavaScript?

Um erro acontece quando o JavaScript encontra algo que não consegue executar.

Exemplo simples:

 console.log(nome); 

Se a variável nome não existir, o JavaScript lança um erro e interrompe a execução.

Sem tratamento de erro, a aplicação pode parar completamente.

Conhecendo o try/catch

O try permite que você teste um bloco de código.

Se ocorrer um erro, o JavaScript pula para o catch, em vez de quebrar a aplicação.

 
        try 
        { 
          console.log(nome); 
        } catch (erro) 
        { 
          console.log("Ocorreu um erro"); 
        } 
 
          console.log("Ocorreu um erro"); 
          // Saída será "Ocorreu um erro" 

Mesmo com erro, o código continua rodando.

Entendendo o objeto de erro

O catch recebe um objeto com informações sobre o erro.

 
          try 
          { 
            console.log(nome); 
          } 
          catch (erro) 
          { 
            console.log(erro.message); 
          } 
 
            console.log(erro.message); 
            // Saída será algo como "nome is not defined" 

Isso ajuda muito na depuração do código.

Quando usar try/catch?

Use try/catch quando:

  • Algo pode falhar
  • Você quer evitar que a aplicação quebre
  • Precisa tratar erros de forma elegante

O bloco finally

O finally é executado sempre, independentemente de erro ou não.

Ele é muito usado para limpeza, logs ou encerramento de processos.

 
              try 
              { 
                console.log("Executando código"); 
              } 
              catch (erro) 
              { 
                console.log("Erro"); 
              } 
              finally 
              { 
                console.log("Finalizando"); 
              } 
 
                console.log("Executando código"); 
                // Saída será "Executando código" 
                console.log("Finalizando"); 
                // Saída será "Finalizando" 

Exemplo real: função com validação

Vamos criar uma função que exige um número:

 
                function dividir(a, b) 
                { 
                  try { if (b === 0) 
                  { 
                    throw new Error("Divisão por zero não é permitida"); 
                  }
                  return a / b;
                } catch (erro) 
                {
                  console.log(erro.message);
                } finally 
                {
                  console.log("Operação finalizada");
                }
              }
              dividir(10, 2);
              dividir(10, 0);
 
  dividir(10, 2); 
  // Saída será 5 dividir(10, 0); 
  // Saída será "Divisão por zero não é permitida" 
  // Depois: "Operação finalizada" 

throw: lançando seus próprios erros

Você pode criar erros manualmente usando throw.

 
    throw new Error("Algo deu errado"); 

Isso é muito útil para validações e regras de negócio.

Criar erros claros ajuda muito quem vai manter o código depois.

Resumo da aula para nunca mais esquecer

  • try testa um bloco de código
  • catch captura erros
  • finally executa sempre
  • Erros podem ser criados com throw
  • Evita que a aplicação quebre

Na próxima aula, vamos usar tudo isso junto com async e await, tratando erros assíncronos da forma correta.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.


O famoso título Final Fantasy, da Square Enix, tem este nome exatamente porque se tratava da última esperança da empresa, que estava à beira da falência quando o lançou. Clique aqui e conheça detalhes dessa história.


O épico jogo River Raid, do Atari, foi desenhado e boa parte de sua programação foi feita por uma mulher: Carol Shaw, uma excelente programadora e funcionária da Activision em 1982. Saiba mais sobre a história deste incrível jogo, aqui.


O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.


A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.