Messages d'erreurs

zhebulonn Messages postés 37 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 6 avril 2007 - 17 juil. 2003 à 12:53
Mooiz Messages postés 128 Date d'inscription mercredi 25 juin 2003 Statut Membre Dernière intervention 8 juillet 2005 - 17 juil. 2003 à 16:16
Comment savoir a quel message correspondent les chiffres renvoyes en cas d'erreur ? Par exemple, j'ai l'erreur n°7 quand j'utilise la fonction waveOutWrite, mais je ne sais pas a quel message ce numero correspond (MMSYSERR_INVALHANDLE, MMSYSERR_NODRIVER, MMSYSERR_NOMEM, WAVERR_UNPREPARED)

zhebulonn

4 réponses

metalcoder Messages postés 193 Date d'inscription jeudi 14 février 2002 Statut Membre Dernière intervention 25 mars 2011 1
17 juil. 2003 à 13:11
as tu essayer 'err.description'

genre

sub
on error goto err

**
code
**

exit sub
err:
debug.print err.number & " " & err.description
end sub

la fenetre de debogage affichera le libelle de l'erreur

je sais pas si c'est ce que tu voulais car sinon je vois pas

@+
0
Mooiz Messages postés 128 Date d'inscription mercredi 25 juin 2003 Statut Membre Dernière intervention 8 juillet 2005
17 juil. 2003 à 13:12
Soit tu fais une gestion d'erreur style :
private function mafonction()
on error goto fin

{code}

exit sub
fin:
msgbox err.number & " : " & err.description
end sub

ca t'affiche le numéro de l'erreur suivi de sa description vb

soit tu regarde dans l'aide la page qui s'appelle "erreurs recuperables"
la 7 par exemple c'est une erreur de mémoire insuffisante
0
zhebulonn Messages postés 37 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 6 avril 2007
17 juil. 2003 à 15:17
Je me suis mal explique, je pense que le code aidera :

returncode = waveOutWrite(hWaveOut, WaveHeader, Len(WaveHeader))
If returncode <> 0 Then
MsgBox "Write " & CStr(returncode), , "ArrayWaveOut"
Exit Sub
End If

returncode est dans mon cas different de 0 (il est egal a 7), et les erreurs renvoyes par la fonction sont : MMSYSERR_INVALHANDLE, MMSYSERR_NODRIVER, MMSYSERR_NOMEM, WAVERR_UNPREPARED

Comment faire le lien entre le numero et le "texte" ?? car dans msdn, il n'y a que les "textes" qui sont expliques.

zhebulonn
0
Mooiz Messages postés 128 Date d'inscription mercredi 25 juin 2003 Statut Membre Dernière intervention 8 juillet 2005
17 juil. 2003 à 16:16
en cherchant avec la visionneuse d'api on trouve

Public Const MMSYSERR_BASE = 0

Public Const MMSYSERR_INVALHANDLE = (MMSYSERR_BASE + 5) ' device handle is invalid

Public Const MMSYSERR_NODRIVER = (MMSYSERR_BASE + 6) ' no device driver present

Public Const MMSYSERR_NOMEM = (MMSYSERR_BASE + 7) ' memory allocation error

Public Const WAVERR_UNPREPARED = (WAVERR_BASE + 2) ' header not prepared

donc une erreur 7 c'est une erreur MMSYSERR_NOMEM soit une erreur d'allocation memoire

pour les correspondances d'erreur ca donne
2 = The data block pointed to by the pwh paramete hasn't
been prepared.
5 = Specified device handle is invalid
6 = No device driver is present
7 = Unable to allocate or lock memory

Ensuite si tu veux afficher une description d'erreur en fonction du resultat de la fonction, va falloir faire un select case ou qq chose du genre
0
Rejoignez-nous