异常处理:C++ 与 POSIX 风格错误处理对比
1. 异常处理示例
首先来看一个简单的异常处理示例:
if (val == 42) {
throw EINVAL;
}
}
int main()
{
try {
myfunc(1);
std::cout << "success\n";
myfunc(42);
std::cout << "success\n";
}
catch(int ret) {
std::cout << "failure: " << strerror(ret) << '\n';
}
}
在这个示例中,当 val 等于 42 时,会抛出 EINVAL 异常。在 main 函数里,使用 try-catch 块来捕获异常。如果没有异常抛出,会输出 success ;若捕获到异常,会输出错误信息。
2. 异常处理基准测试
为了对比 C++ 异常和 POSIX 风格异常处理的性能,我们进行一个基准测试。
2.1 测试准备
需要引入以下头文件:
#include <csetjmp>
#include &
超级会员免费看
订阅专栏 解锁全文
4

被折叠的 条评论
为什么被折叠?



