Parcours
/
C#
C#
/
Programme
/
Exceptions définies par l'utilisateur
Ex

Exceptions définies par l'utilisateur en C#

1 exercice

À propos de Exceptions définies par l'utilisateur

Une exception définie par l'utilisateur est toute classe définie dans ton code qui dérive de System.Exception. Elle est soumise à toutes les règles de l'héritage de classes, mais en plus, le compilateur et l'environnement d'exécution du langage traitent ces classes de manière particulière, ce qui permet à leurs instances d'être levées et interceptées en dehors du flux de contrôle normal, comme on le voit dans l'exercice exceptions. Les exceptions définies par l'utilisateur peuvent s'employer exactement comme les exceptions de l'environnement d'exécution et de la bibliothèque de classes de base Microsoft.

Ce traitement particulier ne s'applique qu'aux classes dérivées de Exception. Tu ne peux pas lever d'instances d'un autre type.

Les exceptions définies par l'utilisateur servent souvent à transporter des informations supplémentaires, comme un message et d'autres données pertinentes, à mettre à la disposition des routines qui interceptent l'exception. Ces informations peuvent ensuite être consignées dans des journaux, présentées à un utilisateur ou encore servir à une nouvelle tentative. System.Exception dispose de membres de données pratiques et de constructeurs appropriés pour stocker un message et l'exception « interne ».

Par convention, les noms de classes d'exception se terminent par « Exception », par exemple MyTerribleException.

Bien qu'utiliser des exceptions définies par l'utilisateur pour encapsuler et enrichir des exceptions tierces soit un schéma que l'on rencontre souvent, le conseil général est de ne pas en abuser dans ton propre code en dehors de ce cas d'usage. C'est considéré comme un anti-pattern. Cette vision est contestée, et tu peux voir les deux camps de l'argument dans ce message Stack Exchange.

Cet article constitue une bonne introduction aux exceptions définies par l'utilisateur.

Dans le cadre de ses recommandations sur la création et la levée d'exceptions, l'équipe .NET recommande que les exceptions définies par l'utilisateur disposent d'un certain nombre de constructeurs pratiques. Dans la plupart des cas, la combinaison illustrée ci-dessous convient.

public class IncompleteExerciseException : System.Exception
{
    public IncompleteExerciseException() : base() { }
    public IncompleteExerciseException(string message) : base(message) { }
    public IncompleteExerciseException(string message, System.Exception inner) : base(message, inner) { }
}
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet

Apprends Exceptions définies par l'utilisateur