Go
error Handling
Go's error handling pattern.
By EZ4Code Team
errorerror-handling
Code
package main
import (
"errors"
"fmt"
)
var ErrNotFound = errors.New("not found")
func find(id int) (string, error) {
if id <= 0 {
return "", fmt.Errorf("invalid id: %d", id)
}
if id > 100 {
return "", ErrNotFound
}
return "item", nil
}
func main() {
name, err := find(101)
if err != nil {
if errors.Is(err, ErrNotFound) {
fmt.Println("Not found")
}
return
}
fmt.Println(name)
}Explanation
Go handles errors by returning error; errors.Is/As are used for error matching.