Menu
Coddy logo textTech

Понимание `panic`

Часть раздела Логика и управление потоком путешествия по GO на Coddy. Урок 42 из 68.

В Go panic — это встроенная функция, используемая для действительно исключительных ситуаций, когда программа сталкивается с неисправимой ошибкой и должна немедленно остановиться. В отличие от обычных ошибок, которые обрабатываются корректно, panic предназначена для катастрофических сбоев, указывающих на то, что в логике или окружении вашей программы есть что-то принципиально wrong.

Когда вызывается panic, выполнение текущей функции немедленно прекращается, и начинается раскрутка стека вызовов. Это делает его совершенно непохожим на обычный подход Go, при котором возвращаются ошибки, обрабатываемые вызывающим кодом.

В идиоматичном Go panic используется редко. Сообщество Go настоятельно предпочитает явную обработку ошибок через возвращаемые значения, а не обработку ошибок на основе panic. Вы можете столкнуться с panic в таких ситуациях, как обращение к элементу массива за пределами его границ, разыменование nil-указателя или обнаружение библиотекой невозможного состояния, указывающего на ошибку в программе.

Большинство программ на Go должны корректно обрабатывать ошибки, используя стандартный интерфейс error, о котором вы узнаёте. Возможность использовать panic следует рассматривать только тогда, когда у вашей программы действительно нет разумного способа продолжить работу.

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Онлайн-компилятор Go