Juin 11

Les bonnes pratiques en .net recommandent d’utiliser les bons types d’exception (au lieu d’utiliser le type par défaut Exception).
Le petit soucis, c’est qu’il n’y a rien dans la Visual Studio qui permette de trouver facilement le type à utiliser.

En effet, on a bien le IntelliSense mais comme les noms des exceptions ne commence pas par la même chose (étant donné que le tri est alphabétique), cela ne nous avance pas beaucoup.
Mise à jour :
Ce n’est plus vrai, depuis la version 2010, le filtre Intellisense s’applique à tout le mot et non plus juste au début.

Donc j’ai pu trouver sur le net une petite liste des types implémentés dans le framework les plus couramment utilisés :

Exception Class Cause
SystemException A failed run-time check;used as a base class for other.
AccessViolationException Failure to access a type member, such as a method or field.
AggregateException Represents one or more errors that occur during application execution. AggregateException is used to consolidate multiple failures into a single, throwable exception object.
ApplicationException The exception that is thrown when a non-fatal application error occurs.
ArgumentException An argument to a method was invalid.
ArgumentNullException A null argument was passed to a method that doesn’t accept it.
ArgumentOutOfRangeException Argument value is out of range.
ArithmeticException Arithmetic over – or underflow has occurred.
ArrayTypeMismatchException Attempt to store the wrong type of object in an array.
DivideByZeroException An attempt was made to divide by zero.
FormatException The format of an argument is wrong.
IndexOutOfRangeException An array index is out of bounds.
InvalidCastExpression An attempt was made to cast to an invalid class.
InvalidOperationException A method was called at an invalid time.
KeyNotFoundException The exception that is thrown when the key specified for accessing an element in a collection does not match any key in the collection.
NotSupportedException Indicates that a method is not implemented by a class.
NullReferenceException Attempt to use an unassigned reference.
NotImplementedException The method is not implemented.
SecurityException The exception that is thrown when a security error is detected.
TimeoutException The exception that is thrown when the time allotted for a process or operation has expired.
UnauthorizedAccessException The exception that is thrown when the operating system denies access because of an I/O error or a specific type of security error.

 

J’en rajouterais au fur et à mesure si j’en trouve d’autres.
Bien entendu, je n’ai listé ici que les exceptions « utilisables », j’ai ignoré les exceptions système ou trop spécifiques.

Note : A défaut de trouver un type d’exception qui existe déjà, les exceptions personnalisées doivent hériter de Exception et non pas de ApplicationException

Leave a Reply