Interfaces and Errors
Error Return Values
Go functions commonly return an error value next to the useful result.
Error Return Values
error_return.go
package main
import (
"errors"
"fmt"
)
func divide(total int, parts int) (int, error) {
if parts == 0 {
return 0, errors.New("parts cannot be zero")
}
return total / parts, nil
}
func main() {
var parts =
result, err := divide(20, parts)
if err != nil {
fmt.Println("error=", err)
} else {
fmt.Println("result=", result)
}
}
package main
import (
"errors"
"fmt"
)
func divide(total int, parts int) (int, error) {
if parts == 0 {
return 0, errors.New("parts cannot be zero")
}
return total / parts, nil
}
func main() {
var parts =
result, err := divide(20, parts)
if err != nil {
fmt.Println("error=", err)
} else {
fmt.Println("result=", result)
}
}
package main
import (
"errors"
"fmt"
)
func divide(total int, parts int) (int, error) {
if parts == 0 {
return 0, errors.New("parts cannot be zero")
}
return total / parts, nil
}
func main() {
var parts =
result, err := divide(20, parts)
if err != nil {
fmt.Println("error=", err)
} else {
fmt.Println("result=", result)
}
}
error return
A nil error means the operation succeeded; a non-nil error describes what went wrong.