Question Try Catch

Signaler
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014
-
Messages postés
149
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
16 juillet 2013
-
Bonjour,

Voila j'utilise des try catch pour gérer les exceptions mais je dois certainemetn mal les utiliser, j'utilise pourtant l'exemple du MSDN.

 Try
            cnx.Open(strConnect, "Administrateur", "MotDePasse")
        Catch ex As Exception
            Try
                Dim newmail As New MailMessage()
                Dim smtpserver As New SmtpClient
                smtpserver.Credentials = New Net.NetworkCredential("Luc", "Dupont")
                smtpserver.Port = 25
                smtpserver.Host = "societe.local"
                newmail.To.Add("LucD@societe.fr")
                newmail.From = New MailAddress("support@societe.fr")
                newmail.Subject = "ERREUR "
                newmail.Body = "Attention, l'erreur suivante est surevenue durant la mise à jour :   Impossible de se connecter à la base de données"
                smtpserver.Send(newmail)
            
            End Try
A voir également:

6 réponses

Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014

* et malgres l'erreur, je ne recois pas le mail alors que la fonction d'envoi du mail fonctionne correctement.

Quelqu'un voit il une erreur dans mon code ?

merci d'avance
Messages postés
14676
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
8 juillet 2020
143
Bonjour,

Est-ce qu'une erreur bloquerais l'envoi du mail par hasard ?

As-tu essayé de mettre un Catch quand tu envoie le mail ?

Mon site
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014

Bonjour,

Tout d'abord merci pour ta réponse, j'ai essayé avec un autre Try Catch, et je n'ai aucune erreur retournée. J'avoue que je ne comprends pas. . .
Messages postés
14676
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
8 juillet 2020
143
Bonjour,

Dans le doute :
Essayes d'exporter le code de ton Catch dans une Sub/Function afin d'y regrouper le traitement.
Ensuite, Try/Catch le code et regardes, ça vient peut être de là.

Mon site
Messages postés
149
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
16 juillet 2013
2
Bonjour, je dirai que pour que ton code soit correct il te faut un autre catch...

Try
  cnx.Open(strConnect, "Administrateur", "MotDePasse")
Catch ex As Exception
  Try
    Dim newmail As New MailMessage()
    Dim smtpserver As New SmtpClient
    smtpserver.Credentials = New Net.NetworkCredential("Luc", "Dupont")
    smtpserver.Port = 25
    smtpserver.Host = "societe.local"
    newmail.To.Add("LucD@societe.fr")
    newmail.From = New MailAddress("support@societe.fr")
    newmail.Subject = "ERREUR "
    newmail.Body = "Attention, l'erreur suivante est surevenue durant la mise à jour :   Impossible de se connecter à la base de données"
    smtpserver.Send(newmail)
  catch ex2 as Exception
    Messagebox.Show(ex2.Message)
End Try


Ce code va envoyer un mail s'il y a une erreur avec le cnx.open, et il t'affichera un message s'il n'arrive pas à envoyer ce mail.
Messages postés
149
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
16 juillet 2013
2
Excusez moi j'ai oublié un "End Try" à la fin:

Try
  cnx.Open(strConnect, "Administrateur", "MotDePasse")
Catch ex As Exception
  Try
    Dim newmail As New MailMessage()
    Dim smtpserver As New SmtpClient
    smtpserver.Credentials = New Net.NetworkCredential("Luc", "Dupont")
    smtpserver.Port = 25
    smtpserver.Host = "societe.local"
    newmail.To.Add("LucD@societe.fr")
    newmail.From = New MailAddress("support@societe.fr")
    newmail.Subject = "ERREUR "
    newmail.Body = "Attention, l'erreur suivante est surevenue durant la mise à jour :   Impossible de se connecter à la base de données"
    smtpserver.Send(newmail)
  catch ex2 as Exception
    Messagebox.Show(ex2.Message)
  End Try
End Try