Question Try Catch

Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014
- - Dernière réponse : alexandrevandenberghe
Messages postés
149
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
16 juillet 2013
- 21 juin 2011 à 15:25
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
Afficher la suite 

6 réponses

Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014
0
Merci
* 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
Commenter la réponse de Moundir76
Messages postés
14567
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 octobre 2019
136
0
Merci
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
Commenter la réponse de NHenry
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014
0
Merci
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. . .
Commenter la réponse de Moundir76
Messages postés
14567
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 octobre 2019
136
0
Merci
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
Commenter la réponse de NHenry
Messages postés
149
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
16 juillet 2013
2
0
Merci
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.
Commenter la réponse de alexandrevandenberghe
Messages postés
149
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
16 juillet 2013
2
0
Merci
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
Commenter la réponse de alexandrevandenberghe