Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

CoqBlog

.NET is good :-)
{ Blog de coq }

Actualités

TryParse contre Parse, ou pourquoi éviter les exceptions "inutiles"

En .Net 1.1, vous vous êtes peut être déjà servi de la méthode TryParse du type Double.
En .Net 2.0, plusieurs types suivent le modèle TryParse : Boolean, Byte, Char, DateTime, Decimal, Double, Int16, Int32, Int64, IPAddress, SByte, Single, TimeSpan, UInt16, UInt32, UInt64.

L'intérêt majeur de cette méthode est qu'elle ne lève pas d'exception en cas de chaîne invalide, ce qui est très appréciable vu que la levée d'une exception est très couteuse.
A ce sujet je vous invite à jeter un oeil au post Performance Profiling Parse vs. TryParse vs. ConvertTo

Et si vous voulez vous faire vous même une petite idée des impacts, vous pouvez utiliser l'exemple Applications Parse et TryParse, il vous permet de voir rapidement des choses de ce genre :

Si vous voulez un exemple encore plus concret, prenons le cas de l'ouverture d'un fichier : une erreur courrante est l'inexistence de ce fichier.
Vous pouvez gérer cette erreur de 2 façons : 
- Tenter l'ouverture et gérer l'exception FileNotFoundException levée.
- Tester l'existence du fichier dans un premier temps, et ne tenter l'ouverture que si il existe (en gardant la gestion de FileNotFoundException, au cas où).
Avec la seconde méthode, vous échouerez en moyenne de 2 à 5 fois plus vite qu'avec la première, ce qui peut être relativement appréciable sur des traitements de masse par exemple.

EDIT :
Richard nous en avait aussi parler ici : Parse ou TryParse ?

 

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: vendredi 9 juin 2006 23:19 par coq
Classé sous :

Commentaires

richardc a dit :

# juin 10, 2006 09:10

coq a dit :

Flamboyante description du lien ;-)
Je ne l'avais pas vu / Ne m'en souvenais plus.
# juin 10, 2006 09:55
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Microsoft Regional Director 2.0 ! par Le blog de Patrick [MVP Office 365] le 02-23-2015, 22:10

- TechDays Paris 2015: Malware unchained par Blog Technique de Romelard Fabrice le 02-12-2015, 22:58

- TechDays Paris 2015: La transformation du SI avec le Cloud Microsoft, quel sera le rôle de la DSI demain, comment le Cloud MS accompagne cette transfo... par Blog Technique de Romelard Fabrice le 02-12-2015, 22:51

- TechDays Paris 2015: L’intranet social avec Office 365 et Yammer - quelles possibilités d’intégration ? par Blog Technique de Romelard Fabrice le 02-12-2015, 22:46

- TechDays Paris 2015: Plenière jour 3 - Vers une technologie invisible et une intelligence omniprésente ? par Blog Technique de Romelard Fabrice le 02-12-2015, 10:59

- TechDays Paris 2015: Geek is in da {new} House par Blog Technique de Romelard Fabrice le 02-12-2015, 01:13

- TechDays Paris 2015: Windows Server vNext - Virtualisation et Stockage par Blog Technique de Romelard Fabrice le 02-12-2015, 00:26

- TechDays Paris 2015: Quoi de neuf dans Windows 10 ? par Blog Technique de Romelard Fabrice le 02-11-2015, 23:37

- TechDays Paris 2015: Réussir sa migration vers Office 365 en formant les uilisateurs par Blog Technique de Romelard Fabrice le 02-11-2015, 14:32

- TechDays Paris 2015: Windows 10 et PowerShell 5.0 par Blog Technique de Romelard Fabrice le 02-11-2015, 13:10