Comment faire un (error trap) piège à erreur? aidez moi svp

Résolu
zwarul Messages postés 35 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 3 août 2008 - 26 août 2005 à 11:26
zwarul Messages postés 35 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 3 août 2008 - 26 août 2005 à 12:05
bon voila j'ai fait un petit soft qui fait des captures d'écran à répétition et qui les analyse. Mais il arrive que j'obtienne une message d'erreur du type:(l'erreur d'exécution 521 impossible d'ouvrir le presse papier!) (sachez que le logiciel tourne en boucle et que ce message apparait complétement au hasard: défoi au bout de dix minutes comme au bout de 5 heurs alors???)
et j'ai essayer de sovoir pourquoi il y avait ce problème mais avec peu de succé et j'ai ensuite, trouvé ça:

Can't open Clipboard (Error 521)
Specifics

The Clipboard has already been opened by another application. This error has the following cause and solution:

Another application is using the Clipboard and won't release it to your application.
Set an error trap for this situation in your code and provide a message box with Retry and Cancel buttons to allow the user to try again after a short pause


sur msdn en accés libre

il me conseille donc d'utiliser un error trap, un piège a erreur mais je ne sai absolument pas comment mi prendre (faut dire que je débute juste) donc si quelqu'un pouvait me donner quelques conseils se serait vraiment trop cool car sinon mon soft ne servira a rien

6 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
26 août 2005 à 11:55
Alors allons-y pour du VB6 ...

On Error Goto ErrHdlr
... ici tu places la ou les lignes de code qui risque de planter
Exit Function ' ou Exit Sub selon le cas
ErrHdlr:
... ici tu places le code a executer en cas d'erreur ou rien du tout si tu ne veux rien faire de spécial en cas d'erreur ...
End Function ' ou End Sub selon le cas
3
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
26 août 2005 à 12:04
Si tu débutes, je t'ai fais une procédure ou tu comprendras tout bien



Private Sub AnError()

'////////////////////////////////////

'/ Procédure qui Génère une erreur

'/ Avec gestion d'erreur

'////////////////////////////////////

Dim lintZero As Integer



On Error GoTo FlagError



lintZero = 0

lintZero = 8/lintZero



ResumeError:

MsgBox "Ici on passe toujours Erreur ou pas Erreur ;)" & vbCrLf & Err.Description, vbCritical

Exit Sub



FlagError:

MsgBox "[debug : AnError]" & vbCrLf & Err.Description, vbCritical

Resume ResumeError



End Sub



Bye bye
3
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
26 août 2005 à 11:31
LA méthode vca dépendre de la version de VB que tu utilises : VB6, VB.NET, VBA ?

Christophe.
0
zwarul Messages postés 35 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 3 août 2008
26 août 2005 à 11:50
c'est vb6 merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
26 août 2005 à 12:05
Oui une division par 0 il aime pas trop ...
0
zwarul Messages postés 35 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 3 août 2008
26 août 2005 à 12:05
merci!!!!!!!!!!!!!!!!
0
Rejoignez-nous