C ++中已经有足够的错误处理策略了。我们有异常处理,错误返回码和这个ERRNO
混乱。 system_error
标题在这里扮演什么角色?我如何使用其中的功能?对我而言,它只是随机放在一起。我使用cppreference网站作为参考。
答案 0 :(得分:2)
您可以将throw
和catch
作为正常例外。它只是std::exception
层次结构的一部分。 std::system_error
扩展std::runtime_error
,其范围为std::exception
什么时候应该使用?通常,它用于将C样式的ERRNO错误转换为使用封装的错误代码进行抛出和捕获处理。标准库本身大量使用它,特别是在使用特定于操作系统的东西的新库中,例如在<thread>
库中。