5

C++ 中已经有足够多的错误处理策略。我们有异常处理、错误返回码和这种ERRNO混乱。标头在这里起什么作用system_error?如何使用其中的功能?对我来说,它看起来只是随机组合在一起的。我使用cppreference站点作为参考。

4

1 回答 1

3

你可以throwcatch它当作一个正常的例外。它只是std::exception层次结构的一部分。std::system_error延伸std::runtime_error延伸std::exception

什么时候应该使用它?通常,它用于将 C 样式的 ERRNO 错误转换为在对象内封装错误代码的 throw&catch 处理。这被标准库本身大量使用,特别是在使用特定于操作系统的东西的新库中,例如在<thread>库中。

于 2013-09-30T19:35:36.037 回答