在Linux环境下,C++异常处理主要依赖于C++的异常处理机制,即try
、catch
和throw
关键字。以下是C++异常处理的基本方法和示例:
#include <iostream>
#include <stdexcept>
int divide(int a, int b) {
if (b == 0) {
throw std::runtime_error("Division by zero");
}
return a / b;
}
int main() {
try {
int result = divide(10, 0);
std::cout << "Result: " << result << std::endl;
} catch (const std::runtime_error& e) {
std::cerr << "Error: " << e.what() << std::endl;
} catch (...) {
std::cerr << "Unknown exception caught" << std::endl;
}
return 0;
}
divide函数:
b
为0,抛出一个std::runtime_error
异常,并附带错误信息"Division by zero"。main函数:
try
块包裹调用divide
函数的代码。divide
函数抛出std::runtime_error
异常,catch (const std::runtime_error& e)
块会捕获并处理该异常,输出错误信息。catch (...)
块会捕获并处理未知异常。在Linux环境下,使用以下命令编译和运行上述代码:
g++ -o exception_example exception_example.cpp
./exception_example
Error: Division by zero
catch
块或到达程序的顶层。std::runtime_error
、std::logic_error
等,可以根据需要选择合适的异常类型。通过以上方法和示例,你可以在Linux环境下有效地进行C++异常处理。