C++ 的 assert
函數主要用于在調試模式下檢查程序中的條件是否為真。如果條件為假,assert
會終止程序并顯示一條錯誤消息。然而,assert
并不是用來處理異常的。
在 C++ 中,異常處理通常使用 try
、catch
和 throw
關鍵字。當程序中發生異常時,可以使用 throw
關鍵字拋出一個異常對象。然后,可以使用 try
塊捕獲該異常,并在 catch
塊中處理它。
這是一個簡單的異常處理示例:
#include <iostream>
#include <stdexcept>
int main() {
try {
int denominator = 0;
if (denominator == 0) {
throw std::runtime_error("Division by zero");
}
int result = 10 / denominator;
std::cout << "Result: " << result << std::endl;
} catch (const std::runtime_error& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
在這個示例中,我們嘗試執行一個除以零的操作,這會拋出一個 std::runtime_error
異常。我們使用 try
塊捕獲該異常,并在 catch
塊中處理它。