The simplest way to create an error is using errors.New:
import "errors"
err := errors.New("something went wrong")
For formatted error messages, use fmt.Errorf:
err := fmt.Errorf("invalid value: %d", value)
Complete example
package main
import (
"errors"
"fmt"
)
func divide(a, b float64) (float64, error) {
if b == 0 {
return 0, errors.New("division by zero")
}
return a / b, nil
}
func validateAge(age int) error {
if age < 0 {
return fmt.Errorf("age cannot be negative: %d", age)
}
if age > 150 {
return fmt.Errorf("age seems invalid: %d", age)
}
return nil
}
func main() {
result, err := divide(10, 2)
if err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println("Result:", result)
}
if err := validateAge(-5); err != nil {
fmt.Println("Validation error:", err)
}
}