Excepción captura de la base de la clase
-
25-09-2019 - |
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.
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 .