🛡️ Cap 13: Tratamento de Erros Idiomático, errors.Is, errors.As, defer, panic e recover - Exemplos Práticos
Código executável completo demonstrando os conceitos abordados em Go.
🗺️ Fluxo de Execução
flowchart TD
TRY["Tratamento Explícito em Go"] --> DEFER["defer: Executa limpeza de recursos no retorno da função"]
TRY --> CHECK["if err != nil: Tratamento direto sem try/catch"]
TRY --> RECOVER["recover(): Captura panics inesperados"]
style TRY fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
style DEFER fill:#e8f5e9,stroke:#4caf50,stroke-width:1px
📄 Código de Demonstração (erros_defer.go)
package main
import "fmt"
func operacaoComDefer() {
\defer fmt.Println("1. Conexão fechada com segurança (defer)")
\fmt.Println("2. Processando requisição...")
}
func main() {
\operacaoComDefer()
}
🚀 Saída Esperada no Terminal
$ go run erros_defer.go
2. Processando requisição...
1. Conexão fechada com segurança (defer)
🧭 Navegação Rápida
| 📖 Teoria | 📊 Slides | 🧠 Quiz | 💻 Exemplos | 🧩 Exercícios | | :— | :— | :— | :— | :— | | Ler Tópico | Ver Slides | Fazer Quiz | Ver Código | Praticar |