2
设计异常类
我正在编写一个小型库,在设计异常处理时遇到了一些麻烦。我必须说,我(仍然)对C ++语言的此功能感到困惑,并且我尝试尽可能多地阅读该主题,以了解如何正确使用异常类将要做什么。 我决定使用一种system_error方法,该方法从future_error该类的STL实现中获得启发。 我有一个包含错误代码的枚举: enum class my_errc : int { error_x = 100, error_z = 101, error_y = 102 }; 和一个异常类(由error_category结构类型和system_error模型所需的所有其他内容支持): // error category implementation class my_error_category_impl : public std::error_category { const char* name () const noexcept override { return "my_lib"; } std::string message (int ec) const override { std::string …