Problème gestion erreur VBS [Résolu]

Signaler
Messages postés
2
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
15 novembre 2007
-
Messages postés
2
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
15 novembre 2007
-
Salut tout le monde, 1e post ici parce que ca fais quelques heures que je cherche déséperemment la réponse a mon problème. Je m'explique, je code actuellement un assez gros programmes en VBS qui tourne pas mal et qui envoi pas mal de mail (pas de spam, rassurez vous) a tout les clients de la société (qui n'ont pas payé ! bouh, les méchants).

Ca fonctionne bien donc, SAUF lorsque par exemple, dans la base une adresse est mal saisie. Genre : michel@tjre*"%'&. Le server exchange apprécie pas vraiment. Donc j'ai voulu faire une gestion d'erreur assez "détaillé pour moi, en me donnant les info du client en question pour ensuite me l'envoyer par mail.

Le problème :

errcontenu =  typ & from & fromnom & qui & quinom & contenu & bloc & blocmotif & accord
wscript.echo "1 : " & errcontenu
    envoimail = "Envoyé !
"
wscript.echo "2 : " & errcontenu
    myMail.Send
wscript.echo "3 : " & errcontenu
    set myMail=nothing
wscript.echo "4 : " & errcontenu
   err_ 42,4,errcontenu

Ce qui se passe : il m'affiche bien le 1 avec les valeur de errcontenu, le 2 aussi et quand il arrive au 3.... bah en fait ya meme pas de 3 qui apparait, du moment qu'il a une erreur, tout ce qui se passe après le "myMail.Send" n'est plus traité. J'ai utilisé du "on error resume next" et a vrai dire, meme sans, passe pas non plus.

Si quelqu'un avait une idée, merci de me le dire au plus vite (j'ai deja utilisé ce type de gestion d'erreur dans d'autre fichiers et ca passait nickel )

2 réponses

Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonsoir,

L'objet RegExp permet la gestion des expressions régulières.
Exemple trouvé et adapté.

Function SubMatchTest(inpStr)
  Dim oRe, oMatch, oMatches
  Set oRe = New RegExp
  ' Rechercher une adresse électronique(pas une RegExp parfaite)
  oRe.Pattern = "(\w+)@(\w+)\.(\w+)"
  ' Obtenir la collection Matches
  Set oMatches = oRe.Execute(inpStr)
  ' Obtenir le premier élément de la collection Matches
  MsgBox oMatches.Count  If oMatches.Count 0 Then SubMatchTest "adresse incorrecte" : Exit Function
  Set oMatch = oMatches(0)
  ' Créer la chaîne de résultats.
  ' L'objet Match est la correspondance exacte - dragon@xyzzy.com
  retStr = "L'adresse électronique est : " & oMatch & vbNewline
  ' Obtenir les sous-correspondances de l'adresse.
  retStr = retStr & "L'alias de l'adresse est : " & oMatch.SubMatches(0)  ' dragon
  retStr = retStr & vbNewline
  retStr = retStr & "La société est : " & oMatch. SubMatches(1)' xyzzy
  SubMatchTest = retStr
End Function

MsgBox(SubMatchTest("Veuillez envoyer un courrier électronique à dragon@xyz!zytoto.com. Merci!"))

MsgBox(SubMatchTest("Veuillez envoyer un courrier électronique à dragon@xyzzytoto.com. Merci!"))

jean-marc
Messages postés
2
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
15 novembre 2007

Oui, effectivement, au lieu de gérer l'erreur, je vais gérer ca en amont, merci bien :)