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