DEV Community

Cover image for Entendendo o funcionamento do Try...Catch no javascript
Luís Daví
Luís Daví

Posted on

Entendendo o funcionamento do Try...Catch no javascript

Olá Devs! No desenvolvimento em JavaScript, a manipulação adequada de erros é crucial para garantir a estabilidade e a robustez do código. Neste post, exploraremos a utilização das instruções try e catch para efetivamente lidar com erros e garantir uma experiência mais controlada para os usuários.


Entendendo o Try-Catch

O try...catch em JavaScript é como uma rede de segurança para o seu código. Imagine que seu código está fazendo acrobacias e, de repente, algo inesperado acontece. É aí que entra o try...catch!

**try: Aqui, você coloca o código que quer testar, como um truque de malabarismo.**

try {
    // Seu código malabarista vai aqui!
}
Enter fullscreen mode Exit fullscreen mode

catch: Se algo der errado durante o truque (um erro acontecer), o código dentro do bloco catch entra em ação. É como um amigo que pega o malabares que caíram.

try {
    // Seu código malabarista vai aqui!
} catch (erro) {
    // Ops! Algo deu errado, mas agora você pode lidar com isso aqui!
    console.error(erro);
} 
Enter fullscreen mode Exit fullscreen mode

O erro é como uma caixa que contém informações sobre o que deu errado

Com o try...catch, mesmo que uma parte do seu código falhe, o resto continua executando. Isso ajuda a evitar que sua aplicação quebre completamente e permite que você tome medidas para lidar com problemas.


Entendendo e Lidando com Diferentes Tipos de Erros usando Try...Catch de Forma Simples e Dinâmica:

O try...catch em JavaScript é como um super-herói que protege seu código de erros inesperados. Mas, para ser um super-herói eficaz, ele precisa saber contra que tipo de vilão está lutando. Aqui estão alguns dos vilões (tipos de erros) que o Try...Catch pode enfrentar:

  1. TypeError - O Vilão dos Tipos de Dados:

    • Esse vilão aparece quando você tenta fazer algo com um tipo de dado que não suporta aquela ação.
    • Exemplo:

      try {
          const resultado = 'olá'.map(letra => letra.toUpperCase()); // 'map' não funciona com strings
          console.log(resultado);
      } catch (erro) {
          if (erro instanceof TypeError) {
              console.error('Erro de tipo:', erro.message); // "olá.map is not a function"
          }
      }
      
      
  2. ReferenceError - O Vilão da Variável Desaparecida:

    • Este vilão aparece quando você tenta usar uma variável ou função que não foi definida.
    • Exemplo:

      try {
          console.log(variavelInexistente); // variavelInexistente não foi definida
      } catch (erro) {
          if (erro instanceof ReferenceError) {
              console.error('Variável inexistente:', erro.message); // "variavelInexistente is not defined"
          }
      }
      
      
  3. SyntaxError - O Vilão da Gramática:

    • Este vilão aparece quando há um erro de sintaxe no seu código.
    • Exemplo:

      try {
          eval('alert("Olá Mundo!)'); // Falta uma aspa de fechamento aqui
      } catch (erro) {
          if (erro instanceof SyntaxError) {
              console.error('Erro de sintaxe:', erro.message); // "Unexpected token ')'"
          }
      }
      
      

Ao usar múltiplos blocos catch, você pode identificar exatamente contra qual vilão seu super-herói (catch) está lutando. Cada bloco catch é como um plano de ação personalizado para derrotar um tipo específico de erro, mantendo seu código resistente e pronto para enfrentar desafios inesperados.


Entendendo o Bloco Finally de Forma Simples e Dinâmica:

O bloco finally em JavaScript é como o final emocionante de um filme. Não importa o que aconteça durante o filme (no bloco try), o finally é a cena que sempre será exibida, aconteça o que acontecer.

  1. try: Este é o bloco onde você coloca seu código para tentar executar algo que pode gerar um erro.

    try {
        // Seu código emocionante vai aqui!
        console.log('O herói está realizando um truque perigoso!');
    } catch (erro) {
        // Se algo der errado, o bloco catch entra em ação
        console.error('Algo deu errado:', erro.message);
    } finally {
        // Este bloco sempre será executado, não importa o que aconteça
        console.log('O final emocionante está aqui!');
    }
    
    
  2. finally: Aqui, você coloca código que será executado independentemente de ter ocorrido um erro ou não. Pode ser útil para ações de limpeza, liberação de recursos ou qualquer coisa que você queira garantir que seja feita, aconteça o que acontecer.

    try {
        // Seu código emocionante vai aqui!
        console.log('O herói está realizando um truque perigoso!');
    } catch (erro) {
        // Se algo der errado, o bloco catch entra em ação
        console.error('Algo deu errado:', erro.message);
    } finally {
        // Este bloco sempre será executado, não importa o que aconteça
        console.log('O final emocionante está aqui! Tudo acabou, mas o show continua!');
    }
    
    
  3. Benefícios: O bloco finally é como uma garantia de que, mesmo que algo tenha dado errado, você terá a chance de realizar algumas ações importantes antes que seu código termine.

Portanto, pense no bloco finally como o momento em que o herói enfrenta as consequências do truque, independentemente de ter sido um sucesso ou um desastre. Ele sempre terá a chance de fazer sua última jogada, garantindo que sua história termine com um toque final.


Post criado e publicado com 💙 por Luís Daví
👾Portifólio 🚀Github 📸Instagram

Top comments (0)