我正在使用 boost,我注意到它已经重载了许多方法来使用错误作为参数。如果我知道抛出错误是一种更好的方法,为什么我应该使用参数来知道异常?
问问题
31 次
1 回答
2
有些人必须在由于某种原因或其他例外情况不允许的环境中编程。
还有一些编程范例(例如网络编程),其中错误不是“异常事件”,而是预期的事情。
boost 的某些部分(例如 Boost.FileSystem)提供了这两种接口。这让程序员可以选择如何处理错误。
例如(来自 Boost.FileSystem):
void copy(const path& from, const path& to);
void copy(const path& from, const path& to, system::error_code& ec);
如果您更喜欢通过捕获异常来处理错误,那么请务必这样做。
于 2012-12-28T21:38:45.413 回答