Тест · Функции как значения · урок 8 из 12Тест — panic и recoverЧто делают panic и recover и где работает recover?[A]panic разматывает стек, но пропускает отложенные вызовы, поэтому очистка теряется вверх. recover можно вызвать из любой функции, которую вызвала паникующая, где он перебрасывает вызывающему. Это идиоматичный инструмент для ожидаемых условий вроде отсутствующего ключа map, вместо error.[B]panic прерывает обычное выполнение и разматывает стек, выполняя отложенные вызовы вверх; без обработки завершает программу. recover работает лишь в отложенной функции: отдаёт значение паники и прекращает разматывание. Применяйте оба только в исключительных случаях.[C]panic тихо логирует сообщение и даёт функции продолжить со следующей строки, поэтому отложенные вызовы при ней не срабатывают. recover работает где угодно в теле, не только в defer, и возобновляет сразу после места panic. Оба — обычный способ сообщать о рутинных сбоях, заменяя error.[D]panic останавливает программу и выполняет отложенные вызовы, но recover лишь подавляет сообщение о падении, не прекращая разматывание, поэтому программа всё равно выходит. Чтобы реально поймать панику, вызов оборачивают в блок try.Подпишись, чтобы пройти курсКурс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.Продолжить с TelegramВойти другим способом← Назадpanic и recoverДалее →Задача: фильтр