在C++中,throw
用于拋出異常。它可以用于任何可拋出的類型,包括基本類型、自定義類型和標準庫提供的異常類。
throw
語句通常與try
和catch
一起使用,用于異常處理。當程序執行到throw
語句時,會立即中斷當前的執行流程,并將控制權轉移到最近的catch
塊。
語法示例:
throw expression;
expression
可以是任何可拋出的類型,例如整數、浮點數、自定義類型的對象等。
以下是一個簡單的示例,演示了throw
的用法:
#include <iostream>
int divide(int a, int b) {
if (b == 0) {
throw "除數不能為0"; // 拋出一個字符串異常
}
return a / b;
}
int main() {
try {
int result = divide(10, 0);
std::cout << "結果: " << result << std::endl;
}
catch (const char* message) {
std::cout << "捕獲到異常: " << message << std::endl;
}
return 0;
}
在上面的示例中,divide
函數會檢查除數是否為0,如果是0,則拋出一個字符串異常。在main
函數中,我們使用try
塊來嘗試調用divide
函數,并在catch
塊中捕獲異常。如果異常被拋出,catch
塊將會執行,并打印異常信息。
總結一下,throw
用于拋出異常,catch
用于捕獲并處理異常,這是C++中異常處理機制的關鍵部分。