假设我们正在编写一个库,并且希望在错误和异常方面提供细粒度的控制:
我们是否应该将
或者我们是否应该将
void foo();
void foo(std::error_code&);
我们是否应该将
foo()
实现为抛出一个std::system_error
,然后让foo(std::error_code&)
捕获所有异常并提取错误代码?或者我们是否应该将
foo(std::error_code&)
实现为一个永远不会抛出异常的函数,并根据错误代码的存在在foo()
中抛出一个函数?
foo()
函数的作用。 - netcoder