在C++中,異常處理是通過關鍵字try
、catch
和throw
實現的。當程序遇到錯誤時,可以拋出一個異常,然后在適當的地方捕獲并處理它。這種機制允許程序在遇到錯誤時優雅地恢復,而不是直接崩潰。
下面是一個簡單的C++異常處理示例:
#include <iostream>
#include <stdexcept>
int divide(int a, int b) {
if (b == 0) {
throw std::runtime_error("除數不能為0");
}
return a / b;
}
int main() {
try {
int result = divide(10, 0);
std::cout << "結果是: " << result << std::endl;
} catch (const std::runtime_error& e) {
std::cerr << "捕獲到異常: " << e.what() << std::endl;
}
return 0;
}
在這個例子中,divide
函數接受兩個整數參數,如果第二個參數為0,則拋出一個std::runtime_error
異常。在main
函數中,我們使用try
塊調用divide
函數。如果divide
函數拋出異常,catch
塊會捕獲它,并輸出異常的描述信息。
在Linux下編譯和運行這個程序,可以使用以下命令:
g++ -o exception_example exception_example.cpp
./exception_example
這將輸出:
捕獲到異常: 除數不能為0
注意,為了在Linux下編譯C++程序,你需要安裝一個C++編譯器,如g++
。在大多數Linux發行版中,你可以使用包管理器(如apt
、yum
或pacman
)來安裝它。