Макрос 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!,
который помечает ещё не реализованную функциональность