SÉRIE 4 *

 

Théorie

      Interface

    Série 1

     Série 2

       Série 3

       Série 4

. 
GESTION DES ERREURS
(Tutoriels de Christophe Darmangeat et de Langlade Informatique)
.

 

Dans une application digne de ce nom, même lorsqu’une erreur se produit (fichier introuvable, mauvaise saisie au clavier, etc.), elle ne donne pas lieu à un plantage inopiné du programme: elle est plutôt gérée par lui. 

Err

Voici un objet qui n'est pas un contrôle. Il ne possède pas d'existence graphique, mais est utilisée par toute application pour emmagasiner l'état des erreurs que celle-ci a éventuellement provoquée.

Cet objet possède trois propriétés:

  • Number: Le code permettant d'identifier cette erreur.
  • Description: Quelques explications sur la nature de l'erreur.
  • Source: L'objet à l'origine de l'erreur.

Gestion des erreurs

Toute erreur dans une procédure provoque un événement appelé Error. On devrait donc, au début de chaque procédure susceptible de provoquer des erreurs, placer une instruction du genre de celle-ci: 

On error Goto Étiquette

Une étiquette est un sous-titre à l'intérieur de la procédure se terminant par le signe deux-points (:). L’idée est que si une erreur, quelle qu’elle soit, survient au cours de cette procédure, au lieu de sa planter bêtement, l’application ira gentiment rechercher l’étiquette que vous avez désignée, et exécutera son code. De même, pour éviter que le déroulement normal de la procédure n’exécute lce qui se trouve sous l’étiquette, il faudra forcer la sortie de la procédure avant cette étiquette par l’instruction Exit Sub.

Exemples

Public Sub Division()
    Dim Result as Integer
    On Error GoTo Dommage
    Result = 12 / 0
Exit Sub
Dommage:
     Msgbox("Diviser par zéro, ce n’est pas malin!")
End Sub

Dans l'exemple précédent, l'erreur provoque un branchement à l'étiquette Dommage: et le message est affiché avant que la procédure ne se termine.

Sub Main ( )
    On Error GoTo ErreurFatale
    If Dir  ("C:\esls\Rien.txt") = False Then          
            MsgBox "Ce fichier n' existe pas"
    End If
Exit Sub
ErreurFatale:
    MsgBox "N° erreur:"&Err.Number & ", "&  Err.Description
End Sub

Ce second exemple produit un branchement à une étiquette comme le premier, mais cette fois, on affiche le numéro de l'erreur (Err.Number) et sa description (Err.Description).

 

Ce site est optimisé pour Microsoft Internet Explorer en 800x600.Copyright © {2003} {ESLS - Yvon Lemay}. Tous droits réservés.

 Design by
LOGOSLAND CREATIONS