panic

我们将看到的错误处理机制中最简单的是 panic。它会打印错误消息,开始展开堆栈,并且通常会退出程序。在这里,我们显式地在错误条件下调用 panic

fn drink(beverage: &str) {
    // You shouldn't drink too much sugary beverages.
    if beverage == "lemonade" { panic!("AAAaaaaa!!!!"); }

    println!("Some refreshing {} is all I need.", beverage);
}

fn main() {
    drink("water");
    drink("lemonade");
    drink("still water");
}

第一次调用 drink 可以工作。第二次会 panic,因此第三次永远不会被调用。