異常處理是 c++++ 中用于處理運行時錯誤的機制。通過 throw 拋出異常,并使用 try、catch 和 finally 代碼塊捕獲和處理異常。具體語法如下:try { // 可能引發(fā)異常的代碼 }catch (const std::exception& e) { // 捕獲并處理異常 }catch(…) { // 捕獲所有異常 }
如何在 C++ 中處理函數異常
異常處理是 C++ 中處理運行時錯誤的一種機制。使用 throw 關鍵字拋出異常,并使用 try、catch 和可能選項 finally 代碼塊來捕獲和處理異常。
語法:
try {
// 可能引發(fā)異常的代碼
} catch (const std::exception& e) {
// 捕獲并處理異常
} catch(...) {
// 捕獲所有異常
}
登錄后復制
實戰(zhàn)案例:
考慮以下函數,該函數將字符串轉換為整數:
int string_to_int(std::string str) {
try {
int num = std::stoi(str);
return num;
} catch (const std::invalid_argument& e) {
std::cout << "無法將字符串轉換為整數" << std::endl;
return -1;
} catch (const std::out_of_range& e) {
std::cout << "整數超出范圍" << std::endl;
return -1;
}
}
登錄后復制
在主函數中使用該函數:
int main() {
std::string input = "123";
int num;
try {
num = string_to_int(input);
std::cout << num << std::endl;
} catch (const std::exception& e) {
std::cout << "出現異常: " << e.what() << std::endl;
}
return 0;
}
登錄后復制
優(yōu)點:
提高程序健壯性
允許在特定位置處理特定異常
提供錯誤信息和自定義錯誤處理
防止程序意外終止






