panic
우리가 살펴볼 가장 단순한 에러 핸들링 메커니즘은 panic입니다. 이것은 에러 메시지를 출력하고, 스택을 되감기(unwind) 시작하며, 보통 프로그램을 종료합니다. 여기서는 에러 조건에 대해 명시적으로 panic을 호출합니다:
fn drink(beverage: &str) {
// 설탕이 든 음료를 너무 많이 마시면 안 됩니다.
if beverage == "레모네이드" { panic!("으아아아아!!!!"); }
println!("상쾌한 {}만 있으면 돼요.", beverage);
}
fn main() {
drink("물");
drink("레모네이드");
drink("생수");
}
첫 번째 drink 호출은 작동합니다. 두 번째는 패닉을 일으키며, 따라서 세 번째는 결코 호출되지 않습니다.