在 Ubuntu 中使用 C++ 進行異常處理,主要依賴于 C++ 的異常處理機制,即 try
、catch
和 throw
關鍵字。下面是一個簡單的示例,展示了如何在 C++ 中使用異常處理:
#include <iostream>
#include <stdexcept> // 包含標準異常類
int divide(int numerator, int denominator) {
if (denominator == 0) {
throw std::invalid_argument("Denominator cannot be zero."); // 拋出異常
}
return numerator / denominator;
}
int main() {
int num1 = 10;
int num2 = 0;
try {
int result = divide(num1, num2); // 調用可能拋出異常的函數
std::cout << "Result: " << result << std::endl;
} catch (const std::invalid_argument& e) {
std::cerr << "Caught an exception: " << e.what() << std::endl; // 捕獲并處理異常
} catch (...) {
std::cerr << "Caught an unknown exception." << std::endl;
}
return 0;
}
拋出異常:
divide
函數中,如果分母為零,我們使用 throw
關鍵字拋出一個 std::invalid_argument
異常。這是一個標準庫提供的異常類,用于表示參數錯誤。異常處理:
main
函數中,我們使用 try
塊包圍可能拋出異常的代碼。divide
函數拋出異常,控制流會立即跳轉到相應的 catch
塊。std::invalid_argument
類型的異常,并打印出異常信息。catch (...)
塊用于捕獲所有其他類型的異常,確保程序不會因為未處理的異常而崩潰。編譯和運行:
g++ -o exception_example exception_example.cpp
./exception_example
異常處理是 C++ 中管理錯誤和異常情況的重要機制,它可以幫助你編寫更健壯和可維護的代碼。