Введение в ошибки в Go
Программа опирается на то, что данные и операции ведут себя предсказуемо. На практике так бывает не всегда: строка пустая, когда ждут имя, индекс выходит за границы среза, правило задачи нарушает аргумент. В таких случаях выполнение запланированного шага теряет смысл или становится невозможным.
Ошибка в Go - это отдельное значение типа
error, которое функция возвращает вместе
с основным результатом. Оно сигнализирует, что
операция не завершилась нормально. Если ошибку
не проверить и не обработать, программа может
продолжить работу с неверными данными или
остановиться на следующем шаге.
Не каждая ошибка в данных требует отдельного
сигнала. Если пользователь ввел некорректное
число, часто достаточно if и повторного
запроса. Возврат error удобен там, где
сбой возникает глубоко в цепочке вызовов или
когда один и тот же участок кода должен пережить
разные неудачи.
В Go сбой передают явно: вызывающий код получает
значение типа error и решает, что вывести,
подставить безопасное значение или прервать
только часть работы. Дальше в разделе разберем
пару результат, проверку, создание сообщения
и функции с правилами для аргументов.