Pregunta

Tengo una clase base, y me gustaría capturar todas las excepciones de la clase derivada de la clase base, es esto posible?

Usted no sabe lo que son los métodos de la clase derivada.

¿Fue útil?

Solución

Es necesario proporcionar más detalles acerca de su situación específica. Sin embargo, si por ejemplo tiene una clase base abstracta que proporciona un contrato y que se desea capturar todas las posibles excepciones lanzadas por las clases derivadas al llamar a la clase base del contrato que puede hacer algo como esto:

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 { /* ... */ }
    }
}

Otros consejos

Por llamar a la clase que significa una clase derivada, o una clase no relacionada con la llamada a métodos de una clase derivada de su base?

supongo que puede hacer que convertir su base en una clase de proxy. Vea una ejemplo de proxy dinámico .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top