РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
604 of 1245 menu

Макрос panic!

Макрос panic! немедленно останавливает выполнение программы и выводит сообщение об ошибке в поток stderr. Параметром макрос принимает сообщение, которое нужно вывести перед завершением. Также можно передать форматированную строку с аргументами, как в макросе println!.

Синтаксис

panic!(); panic!("сообщение"); panic!("формат {}", value);

Пример

Давайте вызовем макрос panic! с простым сообщением об ошибке:

fn main() { panic!("something went wrong"); }

Результат выполнения кода:

thread 'main' panicked at 'something went wrong'

Пример

Давайте вызовем макрос panic! с форматированной строкой и аргументом:

fn main() { let x = 5; panic!("unexpected value: {}", x); }

Результат выполнения кода:

thread 'main' panicked at 'unexpected value: 5'

Пример

Давайте вызовем макрос panic! условно, только при выполнении некоторого условия:

fn main() { let x = 10; if x > 5 { panic!("x is too large"); } println!("x is ok"); }

Результат выполнения кода:

thread 'main' panicked at 'x is too large'

Смотрите также

  • метод unwrap,
    который извлекает значение или вызывает панику
  • метод expect,
    который извлекает значение или вызывает панику с сообщением
  • макрос todo!,
    который помечает ещё не реализованный код
  • макрос unimplemented!,
    который помечает ещё не реализованную функциональность
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить