如何从标准异常创建用户异常类?
解决下面的情况说我有一个带有一些枚举的类,表示对象的类型
所以基于类型,成员函数是可用的.不可用的调用成员函数应抛出异常.类似地,当再次调用未初始化的getter时,应抛出异常(我使用默认参数来检查未初始化的对象).
您应该从std :: runtime_error或其他标准异常(参见
此外,通常最好为每个问题定义一个不同的异常,而不是使用枚举.这允许try catch机制捕获适当的问题,但这完全取决于你的确切情况,没有进一步的信息,很难知道.
class myException: public std::runtime_error { public: myException(std::string const& msg): std::runtime_error(msg) {} };
但:
so based on type, member functions are available.Calling member function that is not available should throw an exception.
这闻起来很有趣(如Martin Fowler Smell(看看他的书)).