我有一个基类,我想捕捉的基类中派生类的所有的异常,这可能吗?

您不知道什么方法是从派生类。

有帮助吗?

解决方案

您需要提供您的具体方案的更多细节。然而例如,如果你有一个抽象基类,它提供了一个合同,你想赶上调用基类的合同,你可以做这样的事情时,由派生类抛出的所有可能的异常:

public abstract class Base
{
    protected abstract void InternalFoo();
    protected abstract void InternalBar();

    public void Foo()
    {
        try { this.InternalFoo(); }
        catch { /* ... */ }
    }

    public void Bar()
    {
        try { this.InternalBar(); }
        catch { /* ... */ }
    }
}

其他提示

通过的调用类的你的意思是一个派生类,或不相关的类调用从你的基派生类的方法呢?

我想你可以做,把你的基地变成一个代理类。看到动态代理例子。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top