Для представления условий ошибки и сообщений Go содержит специальный тип данных error. На практике это означает, что этот язык обрабатывает ошибки как значения. Чтобы успешно программировать на Go, вы должны иметь представление об ошибках, которые могут возникнуть по мере использования функций и методов, а также соответствующим образом их обрабатывать.
Go следует такому соглашению о значениях error: если значение переменной error равно nil, то ошибки не было. Если значение error отлично от nil, это означает, что
преобразование было неудачным и значение в string не является допустимым значением int.
Если требуется вернуть пользовательскую ошибку, то можно использовать errors.New() из пакета errors.
package main import ( "errors" "fmt" ) // Custom error message with errors.New() func check(a, b int) error { if a == 0 && b == 0 { return errors.New("this is a custom error message") } return nil } func main() { err := check(0, 10) if err == nil { fmt.Println("check() ended normally!") } else { fmt.Println(err) } }