blob: e11be76057cf352197e367ce199f1f6eb7fbbe33 [file] [log] [blame] [view]
---
title: LearnErrorHandling
---
This page links to resources about error handling in Go.
## Getting Started
- Read [Effective Go: Errors](https://go.dev/doc/effective_go#errors)
- Code [A Tour of Go: Errors](http://tour.golang.org/methods/19) and do the [exercise](http://tour.golang.org/methods/20)
- Study [The Go Programming Language Specification: Errors](https://go.dev/ref/spec#Errors)
- Study [Package errors](https://pkg.go.dev/errors/)
- Study [func fmt.Errorf](https://pkg.go.dev/fmt/#Errorf)
## Standard Practice
- Read [Why does Go not have exceptions?](https://go.dev/doc/faq#exceptions)
- Read [Error handling and Go](https://go.dev/blog/error-handling-and-go)
- Read [Go by Example: Errors](https://gobyexample.com/errors)
- Read [Errors are values](https://go.dev/blog/errors-are-values)
- Read [Working with Errors in Go 1.13](https://go.dev/blog/go1.13-errors)
- Read [golang/go/wiki: Errors](Errors)
## Advanced Topics
- Read [Why is my nil error value not equal to nil?](https://go.dev/doc/faq#nil_error)
- Read [Defer, Panic, and Recover](https://go.dev/blog/defer-panic-and-recover)