Try, catch dans une fonction
Bonjour bonjour!
Voila, je developpe un logiciel depuis un ptit moment, comme c est bientot l heure de le mettre en service, je me suis mis a le rendre propre et a mettre du try catch un peu de partout.
J ai donc etudier, lu etc etc.
Vioci un exemple:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Public Function Site_name_with_ItemId(ByVal id As Integer) As String
'Return a site name with a Item ID
Try
Form_Main.SqlConnection1.Open()
Dim com_sql As New SqlClient.SqlCommand
Dim dr_sql As SqlClient.SqlDataReader
com_sql.Connection = Form_Main.SqlConnection1
com_sql.CommandType = CommandType.Text
com_sql.CommandText = "SELECT Name_site FROM Site WHERE ID_site=(SELECT IDFK_site_item FROM Item WHERE ID_item='" & id & "')"
dr_sql = com_sql.ExecuteReader
Dim ok As String
If dr_sql.Read() = True Then
If dr_sql.IsDBNull(0) Then
ok = ""
Else
ok = dr_sql.GetString(0)
End If
Else
ok = ""
End If
dr_sql.Close()
Form_Main.SqlConnection1.Close()
Return ok
Catch ex As Exception
MsgBox(ex.Message)
add_log(ex.Message, "Site_name_with_ItemId")
End Try
End Function |
Une petit fonction qui va chercher une info dans la base de donnees... Tout marche tout va bien...
Mais VB2005, me souligne en gris End Function et me dis :
Citation:
Function Site_name_with_ItemId doesn't return a value on all paths. A null reference exception could occur at run time when the result is used
Les questions:
-Bien sur que peut etre la function ne retournera peut etre rien (j espere pas) mais c est bien pour ca que je mets un try catch non?
-J ai donc essayer de mettre un Finally avec un return quand meme, mais il aime pas.
- Est ce que je dois ignorer ce warning, ou fais je quelque chose de pas propre?
Merci