我看到至少有一个可靠的来源(我使用的一个 C + + 类)建议 C + + 中特定于应用程序的异常类应该从 std::exception
继承。我不清楚这种方法的好处。
在 C # 中,从 ApplicationException
继承的原因很清楚: 您获得了一些有用的方法、属性和构造函数,只需要添加或覆盖您需要的内容。对于 std::exception
,似乎只有一个要重写的 what()
方法,您可以自己创建这个方法。
那么,使用 std::exception
作为应用程序特定异常类的基类(如果有的话)有什么好处呢?有什么好的理由不从 std::exception
继承吗?