我需要像 C++ 中的 UnSupportedOperationException 这样的异常,但找不到。我希望它会在 STL 中,但似乎它不存在。我应该通过从 STL 异常类派生来自己创建一个吗?
为什么需要它?:我正在实现复合设计模式,它需要在基类中抛出 unsupportoperationexception。Jave 有,但 c++ 没有。
通常,您应该避免创建异常类。使用最符合您的情况的类,例如
throw std::runtime_error( "foo() is unsupported" );
只有当您想捕获异常并且您知道如何处理这种情况时,您才需要派生自己的类。在这种情况下,从最符合您的情况的标准库的异常类派生。检查提供的异常类别。
也许您应该解释一下您希望“UnSupportedOperationException”具体做什么。
无论如何,如果默认库中没有某些内容,您应该使用外部库或自己创建它。
在这种情况下,最简单的方法就是您所说的方法。