Exception attrapant de la base de la classe
-
25-09-2019 - |
Question
J'ai une classe de base, et je voudrais saisir toutes les exceptions de la classe dérivée dans la classe de base, est-ce possible?
Vous ne saurez pas ce que les méthodes de la classe dérivée.
La solution
Vous devez fournir plus de détails au sujet de votre scénario spécifique. Toutefois, si par exemple vous avez une classe abstraite base qui offre un contrat et que vous voulez attraper toutes les exceptions possibles lancées par les classes dérivées lors de l'appel du contrat de classe de base que vous pouvez faire quelque chose comme ceci:
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 { /* ... */ }
}
}
Autres conseils
Par appeler la classe signifie une classe dérivée, ou une classe non liées à l'appel des méthodes d'une classe dérivée de votre base?
Je suppose que vous pouvez faire tourner votre base dans une classe proxy. Voir un dynamique exemple.