在 Linux 下使用 C++ 进行异常处理,主要依赖于 C++ 的异常处理机制,即 try、catch 和 throw 关键字。下面是一个简单的示例:
#include <iostream> #include <stdexcept> int main() { try { // 抛出一个异常 throw std::runtime_error("An error occurred"); } catch (const std::runtime_error& e) { // 捕获异常并处理 std::cerr << "Caught exception: " << e.what() << std::endl; } catch (...) { // 捕获所有其他类型的异常 std::cerr << "Caught an unknown exception" << std::endl; } return 0; } 在这个示例中,我们使用 try 块来包裹可能抛出异常的代码。当异常被抛出时,程序会立即跳转到与该异常类型匹配的 catch 块。在这个例子中,我们抛出了一个 std::runtime_error 类型的异常,并在第一个 catch 块中捕获并处理它。如果没有找到匹配的 catch 块,程序会执行最后一个 catch (...) 块来捕获所有其他类型的异常。
为了编译这个示例,你需要使用支持 C++11 或更高版本的编译器,例如 g++。在命令行中,你可以使用以下命令编译:
g++ -std=c++11 -o exception_example exception_example.cpp 然后运行生成的可执行文件:
./exception_example 这将输出:
Caught exception: An error occurred 请注意,异常处理可能会影响程序的性能,因此在性能关键的代码中谨慎使用。在某些情况下,使用错误码或其他错误处理机制可能更为合适。