0

我正在使用 boost,我注意到它已经重载了许多方法来使用错误作为参数。如果我知道抛出错误是一种更好的方法,为什么我应该使用参数来知道异常?

4

1 回答 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 回答