OVH Cloud OVH Cloud

Gestion des erreurs

3 réponses
Avatar
pierfrene
Bonjours a tous et toute

Je crois avoir vue sur se forum la façons de gérer les erreur
en identifiant chaque ligne du code ou par argument de procédure.
j'ai fait une rechercher sur le forum et je le retrouve pas :o(

Si quelle qu'un pourrais me redonner les deux exemples sa serais bien gentil
:o).

3 réponses

Avatar
le_troll
Bonjour,

A tout hasard, si c'est ça que tu cherches:

sub...
On Error Goto erreur
...ion...
exit sub
erreur:
... traitemet de l'erreur
exit sub

Onr error goto (goto à étiquette ligne si erreur <> 0)
On Error Resume Next (ne tient pas compte de cette erreur, jump)
On Error Goto 0 (remet à 0 le gestionnaire d'erreurs)

Err (le titre de d'erreur)
Err.Number (le N° de l'erreur)
Err.Source (le libellé de l'erreur)

Err.clear (raz titre d'erreurs)
Err.Raise X (provoque une fausse erreur n° X)

Tape Err puis curseur en début <F1>, t'as de la lecture...
--
Merci, @+, bye, Joe
ng75 arobase noos point fr
------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison !
----------------------------------------------------------


"pierfrene" <moldry@(supprimerceci)hotmail.com> a écrit dans le message de
news:
Bonjours a tous et toute

Je crois avoir vue sur se forum la façons de gérer les erreur
en identifiant chaque ligne du code ou par argument de procédure.
j'ai fait une rechercher sur le forum et je le retrouve pas :o(

Si quelle qu'un pourrais me redonner les deux exemples sa serais bien


gentil
:o).






Avatar
François Picalausa
Hello,

Erl (non documenté) permet de connaitre le numéro de ligne d'une erreur SI
la ligne a été numérotée.
Exemple:
Private Sub Form_Load()
Dim a As Long

10 On Error GoTo errhandler
20 a = 100
30 MsgBox CStr(a / 0)
40 On Error GoTo 0

errhandler:
50 If Err.Number Then
60 MsgBox "Erreur dans la procédure Form_Load, à la ligne " & Erl & ":"
& vbCrLf & Err.Description & " (0x" & Hex(Err.Number) & ")"
'---------------------------
'Projet1
'---------------------------
'Erreur dans la procédure Form_Load, à la ligne 30:
'
'Division par zéro (0xB)
'---------------------------
'OK
'---------------------------
70 End If
End Sub

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"pierfrene" <moldry@(supprimerceci)hotmail.com> a écrit dans le message
de news:
Bonjours a tous et toute

Je crois avoir vue sur se forum la façons de gérer les erreur
en identifiant chaque ligne du code ou par argument de procédure.
j'ai fait une rechercher sur le forum et je le retrouve pas :o(

Si quelle qu'un pourrais me redonner les deux exemples sa serais bien
gentil
o).




Avatar
pierfrene
Merci pour les deux Réponse

C'est exactement ce que je cherchais

Erl (non documenté) permet de connaitre le numéro de ligne d'une erreur SI
la ligne a été numérotée.
Exemple:
Private Sub Form_Load()
Dim a As Long

10 On Error GoTo errhandler
20 a = 100
30 MsgBox CStr(a / 0)
40 On Error GoTo 0

errhandler:
50 If Err.Number Then
60 MsgBox "Erreur dans la procédure Form_Load, à la ligne " & Erl &


":"
& vbCrLf & Err.Description & " (0x" & Hex(Err.Number) & ")"
'---------------------------
'Projet1
'---------------------------
'Erreur dans la procédure Form_Load, à la ligne 30:
'
'Division par zéro (0xB)
'---------------------------
'OK
'---------------------------
70 End If
End Sub