Page 1 sur 1

Modifier une Error en LS

MessagePublié: 25 Sep 2013 à 09:53
par Michael DELIQUE
Bonjour

je me pose une question et je trouve pas de réponse

je cherche a savoir s'il y a moyen de modifier la variable Error de la gestion des erreurs.

et faire un truc comme ça ( qui bien sur ne marche pas) : Error = Error + " : message en plus"

Code : Tout sélectionner
Sub s
On Error GoTo CatchError

   Error 9999,"Test"

   Exit Sub
CatchError:
   Error = Error + " : message en plus"
   MsgBox "("+Structure_Log+" : "+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Error " + CStr(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Line # "+Cstr(Erl),16," ERROR !"
Exit Sub
End Sub

Re: Modifier une Error en LS

MessagePublié: 25 Sep 2013 à 13:08
par roubech
la modifier : pour faire quoi ?
si tu interceptes l'erreur comme tu le fais là, soit tu gères le cas de figure pour voir si tu peux poursuivre le traitement ou l'interrompre
après tu en profites pour déposer une trace dans ton système de log
comme tu as mis un Error 9999, "Test" dans ta procédure pour simuler une erreur, rien ne t’empêche de générer une erreur dans ton CatchError pour remonter l'erreur au niveau de l'appel de cette fonction ...

Re: Modifier une Error en LS

MessagePublié: 25 Sep 2013 à 13:26
par Michael DELIQUE
re,

je voudrais modifier l'erreur pour ajouter des informations lié à la fonction. pour l'instant je rempli une variable texte que j'ajoute a mon message d'erreur.

Mon Message d'erreur est générique je voudrais pouvoir lui ajouter des infos sans y retoucher. d'ou mon besoin de pouvoir changer le texte de l'erreur ou du moins lui ajouter plus d'infos

Re: Modifier une Error en LS

MessagePublié: 25 Sep 2013 à 20:18
par roubech
Code : Tout sélectionner
Sub xxx
  On Error goto ErrorHandler
  xxx
  xxx
  Exit Sub

ErrorHandler :
  Error err, "Texte en plus" & error
  Exit sub
End sub

Re: Modifier une Error en LS

MessagePublié: 26 Sep 2013 à 16:22
par cyberscooty
autre exemple : ça fait une jolie msgbox avec le n° d'erreur, indique le n° de ligne et le descriptif de l'erreur (j'utilise ce code sur presque tous mes scripts)

Code : Tout sélectionner
erreur:
   Messagebox "Erreur " & Str(Err) & " - ligne n° "& Str(Erl) &  Chr$(13) & "Message :" & Error$,16,"Erreur detectée"
Exit Sub
   

Re: Modifier une Error en LS

MessagePublié: 26 Sep 2013 à 16:49
par Michael DELIQUE
Merci

bon pour ta solution Roubech que j'avais déjà essayé, ça marche, mais ça m'affiche une msgbox...

Cyber, c'est justement pour éviter d'avoir a toucher ma msgbox générique

Re: Modifier une Error en LS

MessagePublié: 26 Sep 2013 à 19:58
par roubech
dans la sub xxx ça n'affichera pas de msgbox si dans la fonction qui l'appelle tu as un on error ...
mon idée est que dans les sous procédures, tu remontes les erreurs et dans les actions frontales tu les affiches alors que dans les agents planifiés tu loggues ...
c'est un peu le principe d'un throw exception dans tes objets metiers et les catch dans les controller
mais j'ai peut-être mal compris ton besoin

Re: Modifier une Error en LS

MessagePublié: 27 Sep 2013 à 13:48
par Michael DELIQUE
bon, ce que je voulais faire n'est pas possible.

merci pour votre aide