Bonjour,
j ai un debat avec des collègues sur la gestion des exceptions. Imaginons la fonction suivante. (une fonction simple qui convertit une chaine de caractère en entier)
Dans ce cas, si la valeur de Value est vide, alors je vais avoir une exception de levée et la valeur retournée sera DefaulValue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Public Function StringToInteger(ByVal Value As String, Optional ByVal DefaultValue As Integer = 0) As Integer Dim mResult As Integer Try 'Convert the value mResult = CInt(Value) 'Return converted value Return mResult Catch mException As Exception 'As error occurred, return the default value Return DefaultValue End Try End Function
Ne vaut il pas alors rajouter un test sur la valeur de Value avant d'effectuer la conversion?
Quelle est la meilleurs méthode au niveau performance? Le If coute t il plus de ressource que la génération de l'exception?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Public Function StringToInteger(ByVal Value As String, Optional ByVal DefaultValue As Integer = 0) As Integer Dim mResult As Integer Try 'Check if value was specified If Value = String.Empty Then Return DefaultValue 'Convert the value mResult = CInt(Value) 'Return converted value Return mResult Catch mException As Exception 'As error occurred, return the default value Return DefaultValue End Try End Function
Merci Billy21
Partager