panic

我们将看到的 саmый 简单错误处理机制是 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,因此永远不会调用第三次。