// Chapter 21 example: functions of your own that report an error. // Run with: go run exercises/21/06-your-own-errors.go package main import ( "errors" "fmt" ) func safeDivide(a int, b int) (int, error) { if b == 0 { return 0, errors.New("cannot divide by zero") } return a / b, nil } func checkLevel(level int) error { if level < 1 || level > 99 { return fmt.Errorf("level %d is not from 1 to 99", level) } return nil } func main() { result, err := safeDivide(17, 5) if err != nil { fmt.Println("Error:", err) } else { fmt.Println("Result:", result) } result, err = safeDivide(17, 0) if err != nil { fmt.Println("Error:", err) } else { fmt.Println("Result:", result) } fmt.Println(checkLevel(12)) fmt.Println(checkLevel(150)) }