Когда мы никак не можем отловить панику — приложение в любом случае завершится?

Необработанная panic завершит процесс, но recover работает только из подходящего defer той же горутины. Фатальные ошибки runtime и принудительное завершение — не обычная panic.

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

Что ответить на собеседовании

Необработанная panic завершит процесс, но recover работает только из подходящего defer той же горутины. Фатальные ошибки runtime и принудительное завершение — не обычная panic.

Подробный разбор

Ответ с пояснениями

Необработанная panic завершит процесс, но recover работает только из подходящего defer той же горутины. Фатальные ошибки runtime и принудительное завершение — не обычная panic.

Recover в родительской горутине не перехватит panic дочерней: границу защиты ставят внутри её функции. При этом ошибки вроде исчерпания памяти или обнаруженного runtime фатального состояния могут завершать процесс без возможности восстановления. os.Exit также не запускает defer. Не используйте recover как замену обычной обработке ошибок и не продолжайте работу с потенциально повреждёнными инвариантами.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее