Pourriez-vous expliquer le concept d'exceptions en C#?Quel est le but des exceptions?
Répondre
Consultez les documents MSDN sur Exceptions.
En d'autres termes, une exception se produit chaque fois qu'il y a une erreur dans l'application. Il existe différents types d'erreurs, telles que les index de tableau hors limites, les erreurs d'E/S disque, les problèmes de division par zéro, etc. Mais en général, les exceptions se produisent chaque fois que le programme ne peut pas corriger automatiquement.
Il est utile d'inclure une sorte de résumé ici –
que j'ai fait dans l'édition. – drharris
Exception est une situation où une méthode ou une fonction ne peut pas faire ce qu'il est censé faire.
Si la méthode OpenFile ne peut pas ouvrir le fichier [pour raison que ce soit] et renvoyer le descripteur de fichier à l'appelant, c'est une exception pour la méthode OpenFile parce qu'il n'a pas pu ouvrir le fichier qui est son principal objectif. En tant que tel il n'y a rien comme l'exception, ce qui peut être une exception à vous pourrait être chronique à quelqu'un d'autre dans un contexte différent. Nous pouvons l'appeler Execution Failures
. L'objectif principal des exceptions est de communiquer les conditions d'erreur.
Ex:OutOfMemoryException
pourrait être une condition d'exception pour la normale à petite échelle des applications de saisie de données, mais pas pour les applications qui font leur gestion de la mémoire sur leur propre, comme SqlServer ou IIS. Considérons un cas de lecture d'un flux. Si la méthode ReadByte
atteint la fin du flux et qu'il n'y a plus d'octet à lire, au moment où vous appelez ReadByte sur le flux, une exception doit être levée car il n'y a plus d'octets à lire. Mais quand vous appelez la méthode ReadChar
à la fin du flux, il lira EOF ce qui est absolument correct pour la méthode ReadChar puisque EOF est un caractère valide à lire. Pour la méthode ReadByte, la condition est appelée method-failure
Une méthode doit faire l'une des deux choses suivantes: Renvoyer une valeur représentant le résultat de l'opération demandée ou lancer une exception si elle ne peut pas terminer l'opération demandée. – kyoryu
le rapport d'erreur basé sur le code d'erreur n'est pas du tout conseillé. La méthode doit servir à son but et ne renvoyer que les valeurs acceptables. Toute condition qui empêche la méthode de le faire est une exception et devrait 'HResult' qui peut être utilisé pour relier l'erreur avec une base de données de bogues ou une documentation externe. C'est parce que vous souhaitez seulement informer sur la condition d'erreur et non pas comment en résoudre un. –
veuillez justifier le vote négatif. –
- 1. Quel est le but des fichiers pdb?
- 2. Quel est le but de Ruby's @@ double_at_variable?
- 3. Quel est le but de l'utilisation?
- 4. Quel est le but de WCF MaxReceivedMessageSize
- 5. Quel est le but de `qt_noop`
- 6. Quel est le but de Array.GetLowerBound (int)?
- 7. Quel est le but de $ _POST?
- 8. Quel est le but de _GLOBAL__I_?
- 9. Quel est le but du fichier vshost?
- 10. Quel est le but de precompiledApp.config?
- 11. Quel est le but de g ++ -Wreorder?
- 12. Quel est le but de MarshalByValue Object?
- 13. Quel est le but principal de WebExceptionStatus.Success?
- 14. Quel est le but des contrôles utilisateur dans Visual C#?
- 15. Quel est le but des méthodes asynchrones? (.NET)
- 16. Quel est le but des applications de bibliothèque COM +?
- 17. Quel est le but des fonctions déclarées pour un usage?
- 18. Quel est le but des interfaces en php?
- 19. Quel est le but des vues dans SQL?
- 20. Quel est le véritable but des stockages isolés dans .Net?
- 21. Quel est le rôle et le but d'un bootstrappeur?
- 22. quel est le but de fcntl avec le paramètre F_DUPFD
- 23. Quel est le but de l'indicateur AI_V4MAPPED dans getaddrinfo?
- 24. Recevoir des spams insensés - quel est son but?
- 25. Quel est le but du dossier 'ClientBin' dans Silverlight/ASP.NET?
- 26. Quel est le but ou ici documents en ruby?
- 27. Quel est le but d'un cache sur l'espace d'échange?
- 28. Quel est le but d'avoir implémenté INotifyPropertyChanged sur ObservableCollection?
- 29. Quel est le but de ces propriétés PHPDOC?
- 30. XFL - Quel est le but du fichier ./bin/SymDepend.cache?
Le concept d'exceptions n'est pas propre à C#. Tous les langages .NET supportent les exceptions, de même que Java et C++ natif. –
http://en.wikipedia.org/wiki/Exception_handling –