Quelle est la différence entre une erreur et une exception dans .NET?
Pourriez-vous m'expliquer quelle est la différence entre une erreur et une exception?
source d'informationauteur Amit
Vous devez vous connecter pour publier un commentaire.
Pourriez-vous m'expliquer quelle est la différence entre une erreur et une exception?
source d'informationauteur Amit
Vous devez vous connecter pour publier un commentaire.
Une exception est une classe qui prend avantage de la langue de la sémantique. Comme d'autres l'ont dit, les exceptions d'interruption de l'exécution de la pile jusqu'à sa capture. Une exception peut être utilisé pour transmettre une erreur, mais, plus généralement, est utilisée pour exprimer que quelque chose d'exceptionnel a eu lieu.
Erreurs, d'autre part, peut être exceptionnel ou non.
Il y a plusieurs types d'erreurs:
Vraiment, des exceptions doivent être limitées à la manipulation des erreurs d'exécution, puisque l'utilisateur la saisie des données de mauvaise qualité n'est pas "exceptionnel". Pour gérer les erreurs de l'utilisateur, vous devez prendre les méthodes suivantes:
Exceptions devraient être utilisés comme une "dernière ligne de défense" pour erreur de l'utilisateur. Si vous êtes à la rédaction d'une couche de persistance, vous pouvez compter sur les exceptions pour s'assurer que les données de mauvaise qualité qui tombe à travers la validation de ne pas obtenir persisté. Cependant, vous devez corriger ces en mettant un correctif dans la validation qui empêche l'erreur de se produire en premier lieu.
Une exception est un objet d'un type résultant de la
System.Exception
classe. Il est utilisé dans unthrow
déclaration de transférer le contrôle à uncatch
clause dans untry
bloquer quelque part plus haut dans la pile d'appel.Une erreur est juste un code ou un message que vous êtes censé interpréter. Le problème avec les codes d'erreur, c'est que vous pouvez décider de les ignorer:
Cet appel va simplement ignorer le code de l'erreur si l'on est renvoyé. Cependant:
Cela ne peut pas être ignorées, et transfert de contrôle de la pile, passé "
SomeCodeThatShouldNotExecuteOnError();
".Exceptions, vous devez écrire du code pour l'ignorer. Les codes d'erreur, vous devez écrire du code pour pas ignorer.
Habituellement, je les classer comme:
Erreur - est connu de flux de travail au sein de l'application. Par exemple: le nom d'utilisateur de ne pas fournis lors de l'authentification est une erreur.
L'application peut gérer ces situation & sera en mesure de montrer amicale des messages de l'utilisateur à l'invite pour une bonne entrée et/ou de traiter les données dans un autre.
Exception - est généralement de jeter lorsque vous sortez de votre système et/ou quelque chose d'inattendu se produit dans l'application. Par exemple: l'ouverture d'un descripteur de fichier peut lever une exception en raison de l'insuffisance des droits ou le fichier n'existe pas.
Habituellement, dans ce cas, l'application peut attraper ces exceptions et/ou écrire un générique gestionnaire pour gérer toutes les exceptions dans le système.
En règle générale, si vous connaissez un cas particulier existe en raison de laquelle la demande ne peut pas continuer à travailler, le label comme une erreur & gérer le cas normalement.
Tout en restant "inconnus-unknows" peut-il tomber dans la catégorie des Exceptions.
HTH.
Si aucun gestionnaire d'exception pour une exception donnée est présente, le programme s'arrête avec un message d'erreur.
Les Exceptions non gérées sont des Erreurs. Donc, Toutes les Erreurs sont des Exceptions, mais l'inverse n'est pas vrai.
Exception Maniements technique gère l'Exception/Situations Inattendues(Erreurs), Tandis que les erreurs sont des Situations qui nous havenot devrait se produire de manière aussi explicite que nous avons à prendre soin d'eux par redirectly l'Utilisateur(s) de certaines pages HTML statiques & de la capture dans les Journaux & venir avec une Solution pour l'Erreur s'est produite.
Des erreurs Peuvent se Produire sur 2 Niveaux
Compilation
CustomError ... CustomError
erreur.... erreur
Compilation
Note - au Niveau de la Page d'Erreur de manipulation remplace Niveau de l'Application de gestion des Erreurs.
La gestion des exceptions:->
Localement (Au Niveau De La Méthode)
Va
Lien-> http://msdn.microsoft.com/en-us/library/ms173160(v=vs. 80).aspx
Les Exceptions sont un moyen de rapports et de la manipulation des erreurs d'exécution. En d'autres termes, ils sont pour la communication sur les conditions d'erreur (en paraphrasant Krzysztof Cwalina dans le livre Cadre Des Lignes Directrices De Conception).
Exception: Lors d'une étape dans une action échoue, toutes les étapes ultérieures de cette action sont tout simplement PAS exécuté. C'est là que des exceptions briller.
Erreur: est lorsque, comme dans le premier cas, vous voulez arrêter l'exécution du code en cours, mais avant de vous faire, vous avez besoin de libérer toutes les ressources précédemment allouées.
Ayant cela dit,
Classe d'Exception a HResult propriété. HRESULT est une valeur de 32 bits, divisé en trois domaines différents: un code de sévérité, un code de fonction, et un code d'erreur.
Ont un coup d'oeil à ce post, vous aidera à mieux comprendre
Erreurs sont des événements. Classe d'Exception représente les erreurs qui se produisent lors de l'application d'exécution (runtime) et fournit un mécanisme pour les gérer à l'aide de blocs try catch.
Les erreurs pourraient être runtime ou erreur de compilateur/s.
Exemples d'événements d'erreur:
HttpApplication.Événement d'erreur de Système.Web dll, FileSystemWatcher.Événement d'erreur de Système.IO
Les deux dll avoir la même définition de l'événement d'Erreur
.Net Framework 4.5 documentation https://msdn.microsoft.com/en-us/library/system.exception(v=vs. 110).aspx
Classe d'Exception représente les erreurs qui se produisent pendant l'exécution de l'application.
Des erreurs et des exceptions
Les erreurs d'exécution peuvent se produire pour une variété de raisons. Cependant, pas toutes les erreurs doivent être traitées comme des exceptions dans votre code. Voici quelques catégories d'erreurs qui peuvent se produire au moment de l'exécution et les moyens appropriés pour y répondre.
Les erreurs d'utilisation. Une erreur d'utilisation représente une erreur dans la logique du programme qui peut se traduire par une exception. Cependant, l'erreur doit être adressée non pas à travers la gestion des exceptions, mais en modifiant le code défectueux.
Des erreurs de programme. Une erreur de programme est une erreur d'exécution qui ne peut pas nécessairement être évitée par l'écriture de code sans bug.
Dans certains cas, une erreur de programme peut correspondre à une ou attendus ou de routine condition d'erreur. Dans ce cas, vous voudrez peut-être éviter à l'aide de la gestion des exceptions pour traiter l'erreur de programme et, au lieu de recommencer l'opération.
Dans d'autres cas, une erreur de programme reflète une erreur inattendue condition qui peut être traité dans votre code.
Des défaillances du système. Une défaillance du système est une erreur d'exécution qui ne peut pas être manipulé par programmation d'une manière significative. Par exemple, toute méthode peut lever une exception OutOfMemoryException si le common language runtime est impossible d'allouer de la mémoire supplémentaire. Normalement, les défaillances du système ne sont pas gérées par l'aide de la gestion des exceptions. Au lieu de cela, vous pourriez être en mesure d'utiliser un événement tel que le domaine d'application.UnhandledException et d'appel de l'Environnement.FailFast méthode pour ouvrir une session exception de l'information et de notifier l'utilisateur de la panne avant de fermer l'application.