0

我有两个班级A, 和B。它们是这样声明的:

class A
{
    public: void function() throw (exception);
};

class B
{
    public: void function();
};

B::function来电A::function。在里面B::function,我想抑制A::function有时抛出的异常,然后继续执行。我该怎么做呢?

4

1 回答 1

4

您可以使用以下方法删除所有异常try { .. } catch ( ... ) { }

void ClassB::doSomething()
{
    try {
        classAObject.doSomethingWhichMayThrow();
    } catch ( ... ) {
    }
}

请注意,这可能具有道德含义。您应该准备好解释(至少在代码的注释中)为什么此时吞下异常是可以接受的。

于 2012-11-02T13:35:45.217 回答