РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
495 of 1593 menu

Функция errors.Join

Функция errors.Join объединяет одну или несколько ошибок в одну составную ошибку. Первый параметр и последующие параметры принимают ошибки (тип error). Функция возвращает новую ошибку, которая содержит все переданные ошибки. Если передать nil, то она будет проигнорирована. Если все ошибки равны nil, функция возвращает nil.

Синтаксис

errors.Join(err1, err2, errN)

Пример

Объединим две разные ошибки в одну:

package main import ( "errors" "fmt" ) func main() { err1 := errors.New("ошибка первая") err2 := errors.New("ошибка вторая") err := errors.Join(err1, err2) fmt.Println(err) }

Результат выполнения кода:

"ошибка первая\nошибка вторая"

Пример

Если одна из ошибок равна nil, она игнорируется:

package main import ( "errors" "fmt" ) func main() { err1 := errors.New("ошибка") err2 := errors.Join(err1, nil) fmt.Println(err2) }

Результат выполнения кода:

"ошибка"

Пример

Если передать только nil, функция вернет nil:

package main import ( "errors" "fmt" ) func main() { err := errors.Join(nil) fmt.Println(err) }

Результат выполнения кода:

"<nil>"

Смотрите также

  • функцию errors.Is,
    которая проверяет, содержит ли ошибка определенный тип
  • функцию errors.As,
    которая извлекает ошибку определенного типа
  • функцию errors.Unwrap,
    которая возвращает внутреннюю ошибку
  • функцию errors.New,
    которая создает новую ошибку с текстом
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить