Введение в панику в Rust
Паника - это немедленная остановка программы, когда дальнейшая работа по текущему пути не имеет смысла. Выполнение прерывается, на экран попадает сообщение, а процесс завершается с ошибкой. Это не значение, которое можно вернуть из функции и разобрать в вызывающем коде.
В основном учебнике мы уже видели исход с удачной и неудачной веткой: сбой там остается частью типа, его передают наверх и обрабатывают через разбор или короткую запись. Свой тип сбоя устроен так же: его возвращают из функции. Паника не добавляет вторую ветку к результату - она обрывает весь запуск. Для учебных прототипов и явно невозможных случаев иногда выбирают остановку, но в библиотечном коде чаще возвращают сбой без прерывания процесса.
Язык дает несколько прямых способов вызвать остановку и короткие приемы у типа необязательного значения, когда автор уверен, что пустого варианта не будет. Отдельно разберем проверку в тестах: там ожидаемую остановку считают успехом прогона. Ловить панику извне и продолжать работу в этом разделе не будем.
Дальше посмотрим команду с сообщением, извлечение из заполненного и пустого необязательного значения, свой текст при остановке, атрибут для теста и задачи на закрепление.