Функция panic в Go | OTUS

Функция panic в Go

Как известно, обычный способ сообщения об ошибке вызывающей стороне заключается в возврате error как дополнительного возвращаемого значения. Хорошо известным примером является и канонический метод Read, возвращающий число прочитанных байтов и error. Но что делать, когда ошибка не может быть возвращена?

Ведь иногда программа просто не может продолжать работать.

В этой ситуации поможет встроенная функция panic. Она создает ошибку в процессе выполнения (run-time error), которая останавливает программу. Эта функция принимает 1 аргумент произвольного типа — чаще всего, строку, что необходимо для печати сообщения о завершении программы. Также это способ указать, что произошло что-то невозможное, к примеру, выход из бесконечного цикла.

1-1801-b1d653.png

И это лишь пример, однако реальным библиотечным функциям следует избегать panic. Как правило, если проблему можно замаскировать либо есть возможность сделать какой-нибудь обходной путь, то всегда будет лучше позволить программе продолжить работу, чем полностью ее остановить. Однако здесь следует привести и контрпример во время инициализации: когда библиотека по-настоящему не может настроить себя, то бывает разумно, скажем так, «паниковать».

2-1801-9c56dc.png

По материалам блога https://golang-blog.blogspot.com/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться