Je suis actuellemnt entrain de suivre ma deuxième année de BTS, nous devons écrire un programme, une application windows form en Visual Basic, avec deux textBox et un bouton permettant de faire une division.
Je dispose d'un service web ASP.NET qui contient la méthode division, retournant la division de a par b, avec une exception gérée si division par zéro. Je pense que c'est le webService qui récupère l'exception.
Le code du WS donne ceci...
<WebMethod()> Public Function Division(ByVal a As Double, ByVal b As Double) As Double
If b <> 0 Then
Return a / b
Else
'On lève l'exception SOAP
Throw New SoapException("Division par zero", SoapException.ClientFaultCode)
End If
End Function
End Class
Il y a donc la méthode division qui prend a et b en parametres, on retourne le résultat, mais on relève une exception soap si division par zéro. Honnêtement, je ne vois pas vraiment ce qu'est SOAP, même en lisant de la documentation sur le site du zéro, actuel openclassrooms, je ne vois pas ce que c'est exactement, j'aimerai bien comprendre...
j'ai cette erreur générée sur le navigateur grâce à l'exception :
System.Web.Services.Protocols.SoapException: Division par zero à Service1.Division(Double a, Double b)
Ensuite j'ai créé une application windows form qui prend le WS en référence pour accéder à la méthode division, et prend les valeurs des textbox en paramètres, avec un msgBox affichant le résultat :
Voici le code du bouton diviser :
Private Sub cmdDiviser_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdDiviser.Click
Dim monService As New SWComplexe.Service1
Try
MessageBox.Show(monService.Division(Double.Parse(txtA.Text),
Double.Parse(txtB.Text)).ToString)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Voici le message générée par l'appli, via le service web qui a récupérée l'exception, lors d'une division par zéro :
Le souci c'est qu'on nous demande d'afficher le message d'erreur récupéré par le WS unqiuement sans les indications du service web disant d'pù vient l'erreur...