Pular para conteúdo

Exercícios: Tratamento de Erros ⚠️

Instruções

Pratique a captura e criação de erros em Go.


🟢 Nível: Básico

  1. Check de Erro: Escreva uma função que leia o nome de um arquivo do terminal e tente abri-lo usando os.Open. Trate o erro caso o arquivo não exista.
  2. Panic: Crie uma função que cause um panic propositalmente (ex: divisão por zero ou acesso a índice inexistente em slice).

🟡 Nível: Intermediário

  1. Recover: Use o recover para capturar o panic do exercício anterior e imprimir uma mensagem amigável sem derrubar o programa.
  2. Custom Error: Defina uma variável de erro ErrIdadeInvalida e use-a em uma função VerificarIdade(idade int).

🔴 Nível: Desafio

5. Calculadora Segura: Crie uma função Dividir(a, b float64) (float64, error). Se b for 0, retorne um erro detalhado usando fmt.Errorf incluindo os valores de a e b. No main, execute essa função e trate o erro exibindo-o no console.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Check de Erro **Resolução e Implementação:**
// Estrutura de implementação recomendada para Check de Erro
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Tratamento de Erros ⚠️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Panic **Resolução e Implementação:**
// Estrutura de implementação recomendada para Panic
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Tratamento de Erros ⚠️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Recover **Resolução e Implementação:**
// Estrutura de implementação recomendada para Recover
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Tratamento de Erros ⚠️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Custom Error **Resolução e Implementação:**
// Estrutura de implementação recomendada para Custom Error
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Tratamento de Erros ⚠️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Calculadora Segura **Resolução e Implementação:**
// Estrutura de implementação recomendada para Calculadora Segura
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Tratamento de Erros ⚠️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.