3

我需要像 C++ 中的 UnSupportedOperationException 这样的异常,但找不到。我希望它会在 STL 中,但似乎它不存在。我应该通过从 STL 异常类派生来自己创建一个吗?

为什么需要它?:我正在实现复合设计模式,它需要在基类中抛出 unsupportoperationexception。Jave 有,但 c++ 没有。

4

2 回答 2

7

通常,您应该避免创建异常类。使用最符合您的情况的类,例如

throw std::runtime_error( "foo() is unsupported" );

只有当您想捕获异常并且您知道如何处理这种情况时,您才需要派生自己的类。在这种情况下,从最符合您的情况的标准库的异常类派生。检查提供的异常类别

于 2013-10-18T16:35:18.287 回答
3

也许您应该解释一下您希望“UnSupportedOperationException”具体做什么。

无论如何,如果默认库中没有某些内容,您应该使用外部库或自己创建它。

在这种情况下,最简单的方法就是您所说的方法。

于 2013-10-18T16:37:23.010 回答