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 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.


Street Fighter 2, lançado para o Super Nintendo no início dos anos 90, foi o principal responsável pelo aumento nas vendas deste console. Graças ao sucesso do título nos Arcades e à perfeita adaptação ao console, muitos consumidores adquiriram o SNES para jogarem o título em casa. Saiba mais.


Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.


Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras


A empresa Take-Two pagou à Infogrames mais de 22 milhões de dólares pelos direitos de Civilization, em novembro de 1994. Ainda sobre este título, Sid Meier, um dos seus fundadores, é o profissional da área dos games mais premiado em todo o mundo.