Rust 程式設計中的 Panic! Macro
Rust 中對臨界錯誤的處理工作得益於 panic! Macro的幫助。在 Rust 中還有其他處理錯誤的方法,但 panic 的獨特之處在於它用於處理無法恢復的錯誤。
當我們執行 panic! Macro時,整個程式從棧中展開,因此程式將退出。由於程式退出的這種方式,我們通常將 panic! 用於無法恢復的錯誤。
語法
呼叫 panic 的語法如下 −
panic!("An error was encountered");我們通常在括號內傳遞一條自定義訊息。
示例
參考以下所示程式碼 −
fn drink(beverage: &str) {
if beverage == "lemonade" { panic!("AAAaaaaa!!!!"); }
println!("Some refreshing {} is all I need.", beverage);
}
fn main() {
drink("soda");
drink("lemonade");
}輸出
thread 'main' panicked at 'AAAaaaaa!!!!', src/main.rs:3:33 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace Some refreshing soda is all I need.
請注意,當我們看到飲料是“檸檬水”時,我們正在建立 panic。另一個更實用的 panic 用例可能是這樣的 −
示例
fn main() {
let x = 3;
let y = 0;
if y == 0 {
panic!("Cannot divide by zero!");
}
println!("{}", x/y);
}輸出
thread 'main' panicked at 'Cannot divide by zero!', src/main.rs:6:5 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP