Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Golang: error, panic, recover, exception handling

Есть ли в Go исключения (exception)?

Этот вопрос проверяет понимание подхода Go к обработке ошибок и отличие от других языков, таких как Java или Python.

Короткий ответ

В Go нет исключений в привычном смысле. Вместо них используется возвращение ошибок из функций. Для критических ситуаций предусмотрены panic и recover.

 

Длинный ответ

Go придерживается простого подхода: функция возвращает значение ошибки как второй результат. Обработка ошибок делается явно, без try-catch.

Пример:

func divide(a, b int) (int, error) {
    	if b == 0 {
        	return 0, errors.New("division by zero")
    	}
    	return a / b, nil
}

panic/recover:

  • panic — вызывает аварийное завершение программы.

  • recover — позволяет перехватить панику и восстановить выполнение.

Когда использовать:

  • error — для ожидаемых ситуаций (некорректные данные, отсутствующие файлы).

  • panic — для критических ошибок (например, неверная логика или ошибки внутри библиотеки).

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Golang

    Golang

Ключевые слова

#error

#panic

#recover

#exception handling

Подпишись на Golang Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.