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