我有两个课程,A
和B
。他们如此宣布:
class A
{
public: void function() throw (exception);
};
class B
{
public: void function();
};
B::function
来电A::function
。在B::function
内,我想要抑制A::function
有时抛出的异常,然后继续执行。我该怎么做?
答案 0 :(得分:4)
您可以使用try { .. } catch ( ... ) { }
删除所有例外:
void ClassB::doSomething()
{
try {
classAObject.doSomethingWhichMayThrow();
} catch ( ... ) {
}
}
请注意,这可能具有道德含义。您应该准备好解释(至少在代码的注释中)为什么吞咽异常是可以接受的。