我需要像C++中的UnSupportedOperationException这样的异常,但是找不到它.我希望它会在STL中,但看起来它不存在.我应该通过派生STL异常类来创建一个吗?
为什么我需要它?:我正在实现复合设计模式,它需要在基类中抛出不支持操作.Jave有它,但c ++没有.
通常,您应该避免创建异常类.使用最符合您案例的类,例如
throw std::runtime_error( "foo() is unsupported" );
Run Code Online (Sandbox Code Playgroud)
只有当您想要捕获异常并且您知道如何处理这种情况时,您才需要派生自己的类.在这种情况下,派生自标准库的异常类,它最符合您的情况.检查提供的例外类别.