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