Вызов остановки программы в Rust
Когда условие невыполнимо и продолжать нельзя, в Rust вызывают макрос с восклицательным знаком. Он печатает переданный текст и сразу прерывает выполнение. Сборка при этом обычно проходит: сбой виден только если до этой строки доходит запуск.
Минимальный пример с коротким сообщением:
fn main() {
panic!("stop");
}
Строки после команды остановки не выполняются. Сообщение может быть длиннее и описывать конкретную причину:
fn main() {
let n = 0;
if n == 0 {
panic!("divider must not be zero");
}
println!("{}", 10 / n);
}
Запишите точку входа, которая сразу
прерывает запуск с текстом "halt"
на экране.
Дан следующий код:
fn main() {
let ok = true;
if !ok {
panic!("bad state");
}
println!("done");
}
Скажите, напечатается ли "done"
при обычном запуске.
Дана переменная role со строкой
"guest". Если значение не равно
"admin", прервите программу с
текстом "access denied", иначе
выведите "welcome".