Identifier une erreur de VB6

Herve_be Messages postés 966 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 30 janvier 2023 - 20 mars 2021 à 15:50
Herve_be Messages postés 966 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 30 janvier 2023 - 21 mars 2021 à 09:23
Bonjour,
J'envoie des fichiers via http comme ceci
    With CreateObject("Microsoft.XMLHTTP")
        .Open "POST", "https://www.xxxxxx.php, False
        .setRequestHeader "Content-Type", "multipart/form-data; boundary=" & STR_BOUNDARY
        .send pvToByteArray(sPostData)

Le script xxxxxx.php récupère bien le fichier et le charge sur le serveur, ça fonctionne très bien.
Par contre j'ai voulu voir ce qui se passait en cas de coupure Internet, j'ai froidement déconnecté mon PC du routeur : On Error Goto est activé avec Err.Number = 0x800C0005 et Err.Source = msxml3.dll.
J'utilise On Error Goto pour intercepter des erreurs de programmation, par exemple division par zéro, auquel cas le programme envoie un rapport d'erreur puis s'arrête.
Ici ce n'est pas une erreur du logiciel mais de l'utilisateur, d'où ma question : comment faire la différence ?
J'ai vu que les erreurs Visual Basic vont de 0 à 65535 : est-ce le bon critère ?

2 réponses

vb95 Messages postés 3407 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 24 mars 2023 165
21 mars 2021 à 03:44
Bonjour
Le code d'erreur 0x800C0005 n'est ni un code d'erreur VB6 ni une erreur de l'utilisateur . C'est un code d'erreur retourné par le système d'exploitation . La coupure Internet que tu as simulé aurait très bien pu être dû à une panne sur le réseau de ton FAI et là l'utilisateur que tu es n'y est pour rien . C'est le système d'exploitation qui transmet le code d'erreur à VB6 pour qu'il soit traité par VB 6 .
Les erreurs Visual Basic (de 0 à 65535) sont des erreurs propres à Visual Basic 6 ( erreurs de programmation comme tu dis ) .
Maintenant je ne vois pas l'utilité de différencier les 2 catégories d'erreur . .
0
Herve_be Messages postés 966 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 30 janvier 2023 2
Modifié le 21 mars 2021 à 09:24
Dans ce cas ci l'erreur 0x800C0005 est une erreur de l'utilisateur retourné par le système d'exploitation.
L'utilité de distinguer les erreurs VB des autres est que les erreurs VB sont dues à une erreur de programmation dont je dois être mis au courant pour pouvoir la corriger.
Pour les autres, je ne peux rien faire, un message à l'utilisateur suffit.

Ma question est :
Err.Number <0 ou > 65535 est-il le bon critère pour savoir qu'il s'agit d'une erreur de VB6 ?
Sinon quel critère faut-il utiliser ?
0
Rejoignez-nous