panic
The simplest error handling mechanism we will see is panic
. It prints an error message, starts unwinding the stack, and usually exits the program. Here, we explicitly call panic
on our error condition:
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"); }
The first call to drink
works. The second panics and thus the third is never called.