Gestion et levée des exceptions
Mise à jour : novembre 2007
Les programmes doivent pouvoir gérer de manière uniforme les erreurs qui se produisent au moment de l'exécution. Le Common Language Runtime facilite grandement le design de logiciels à tolérance de pannes en fournissant un modèle pour la notification des erreurs aux programmes de manière uniforme. Toutes les opérations .NET Framework indiquent une erreur en levant des exceptions.
D'ordinaire, le modèle de gestion des erreurs d'un langage reposait soit sur le mode unique utilisé par le langage en question pour détecter des erreurs et leur trouver des gestionnaires appropriés, soit sur le mécanisme de gestion des erreurs fourni par le système d'exploitation. Le runtime implémente la gestion des exceptions de la façon suivante :
gère les exceptions sans tenir compte du langage qui génère l'exception ni du langage qui gère l'exception ;
ne requiert aucune syntaxe particulière pour la gestion des exceptions, mais laisse chaque langage définir sa propre syntaxe ;
accepte la levée d'exceptions interprocessus et même au-delà des limites d'ordinateur.
Les exceptions offrent plusieurs avantages par rapport à d'autres méthodes de notification d'erreurs, telles que les codes de retour. Les erreurs ne passent pas inaperçues. La propagation des valeurs non valides à travers le système est interrompue. Vous n'êtes pas obligé de vérifier les codes de retour. Un code de gestion des exceptions peut être aisément ajouté pour augmenter la fiabilité du programme. Enfin, la gestion des exceptions par le runtime est plus rapide que la gestion des erreurs C++ qui fait appel à Windows.
Dans la mesure où les threads d'exécution parcourent couramment des blocs de code managé et non managé, le runtime peut lever ou intercepter des exceptions dans un code managé ou non managé. Le code non managé peut comprendre à la fois des exceptions SEH de style C++ et des HRESULTS COM.
Dans cette section
Vue d'ensemble des exceptions
Donne une vue d'ensemble des exceptions du Common Language Runtime.Classe et propriétés d'exception
Décrit les éléments d'un objet exception.Hiérarchie des exceptions
Décrit les exceptions à partir desquelles dérivent la plupart des exceptions.Notions de base de la gestion des exceptions
Explique comment gérer les exceptions à l'aide des instructions catch, throw et finally.Meilleures pratiques pour la gestion des exceptions
Décrit les méthodes suggérées pour la gestion des exceptions.Gestion des exceptions COM Interop
Indique comment gérer les exceptions levées et interceptées dans un code non managé.
Référence
Classe Exception
Informations de référence relatives à la classe à partir de laquelle toutes les exceptions héritent.ApplicationException, classe
Informations de référence relatives à la classe à partir de laquelle toutes les exceptions générées par l'application doivent dériver.SystemException, classe
Informations de référence relatives à la classe à partir de laquelle toutes les exceptions générées par le système dérivent.
Rubriques connexes
Interopérabilité COM avancée
Décrit le mode de fonctionnement des exceptions entre le code managé et le code non managé.Comment : mapper des HRESULT et des exceptions
Décrit le mappage des exceptions entre le code managé et le code non managé.