我正在清理我的代码并通过异常切换到错误处理(因为这会在某些地方显着缩短代码)。
这意味着我需要设计自己的异常类层次结构。
现在它看起来像这样:
namespace error
{
/** Generic error */
class generic : public std::except
{
public:
generic(const std::string& s) : std::except(s) {}
};
/** Namespace for network related errors */
namespace network
{
/** Generic network error */
class generic : public ::error::generic
{
public:
generic(const std::string& s) : ::error::generic(s) {}
};
/** Network timeout */
class timeout : public ::error::network::generic
{
public:
timeout(const std::string& s) : ::error::network::generic(s) {}
};
}
}
问题是这看起来不是特别可读。在处理异常类的层次结构时是否有一些首选风格?