OVH Cloud OVH Cloud

CallByName Err.

1 réponse
Avatar
Dominic
Bonjour,

Je voudrais créer une simple gestion d'erreur avec CallByName , mais
rien a faire , cela ne marche pas ...

Public Function Call_Err(NomFunc As String)
On Error GoTo toto

CallByName Me, NomFunc, VbMethod

Exit Function

toto:

Debug.Print Err.Description
MsgBox "Une erreur est survenue"

End Function

Public Function diviseparzero()

MsgBox 8 / 0

End Function


L'erreur n'est pas capté par toto:

Une idée

Dom

1 réponse

Avatar
Christian Hugoud - Xtrem7
Salut,

Mon code de gestion d'erreur :

gDesignMode est une variable public qui valide ou non le mode conception
ou compilé...

Public Function BtnIdFromKey&(ByVal Key$)
If Not gDesignMode Then On Error GoTo error_manager

...

Exit Function
error_manager:
If ErrorManager(Err, Error, "BtnIdFromKey") = Retry Then Resume Else
Resume Next

End Function

------------------------------------------------------------------------
-

Public Function ErrorManager(ByVal ErrId&, ByVal ErrorText$, ByVal
ProcName$) As cErrorManager
On Error Resume Next
Dim str$

str = "The exception : " & ErrId & " occured in : " & vbCrLf &
vbCrLf & ProcName & vbCrLf & vbCrLf
str = str & ErrorText

Select Case MsgBox(str, vbAbortRetryIgnore + vbCritical, "")
Case vbIgnore
ErrorManager = Ignore
Case vbRetry
ErrorManager = Retry
Case vbAbort
ErrorManager = Abort
End
End Select

End Function

------------------------------------------------------------------------
-

Public Enum cErrorManager
Ignore = 1
Retry = 2
Abort = 3
End Enum

Christian


"Dominic" a écrit dans le message de
news:
Bonjour,

Je voudrais créer une simple gestion d'erreur avec CallByName , mais
rien a faire , cela ne marche pas ...

Public Function Call_Err(NomFunc As String)
On Error GoTo toto

CallByName Me, NomFunc, VbMethod

Exit Function

toto:

Debug.Print Err.Description
MsgBox "Une erreur est survenue"

End Function

Public Function diviseparzero()

MsgBox 8 / 0

End Function


L'erreur n'est pas capté par toto:

Une idée

Dom