Gestion des exceptions dans les applications VCL

De RAD Studio
Aller à : navigation, rechercher

Remonter à Gestion des exceptions - Index

Si vous utilisez des composants VCL ou la bibliothèque d'exécution VCL dans vos applications, vous devez comprendre le mécanisme de gestion des exceptions VCL. Les exceptions sont incorporées à de nombreuses classes et routines VCL, et sont déclenchées automatiquement lorsque quelque chose d'inattendu se produit. Généralement, ces exceptions signalent des erreurs de programmation qui sinon généreraient une erreur d'exécution. Certaines de ces classes sont décrites dans la rubrique Classes d'exception VCL.

La technique pour gérer les exceptions de composants n'est pas différente de celle utilisée pour les autres types d'exception.

Si vous ne gérez pas l'exception, la VCL la gère par défaut d'une manière appropriée. En principe, un message décrivant le type de l'erreur s'affiche. Pendant le débogage de votre application, vous pouvez consulter les informations sur la classe de l'exception dans l'aide en ligne. Les informations fournies vous aideront à déterminer l'endroit où l'erreur s'est produite et sa cause.

Certaines classes d'exceptions n'affichent pas de message d'erreur lorsqu'elles sont interceptées par les gestionnaires par défaut. Elles sont décrites dans Exceptions silencieuses.

Les erreurs d'intervalles dans les propriétés indicées sont une source fréquente d'erreur dans les composants. Si, par exemple, pour une boîte liste dont la liste contient trois éléments (0..2), votre application tente d'accéder à l'élément numéro 3, la boîte liste déclenche une exception "Indice de liste hors limites".

Le gestionnaire d'événement suivant contient un gestionnaire d'exception qui informe l'utilisateur de l'accès à un indice invalide de la boîte liste :

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   ListBox1.Items.Add('une chaîne');{ ajoute une chaîne à la boîte liste }
   ListBox1.Items.Add('une autre chaîne');{ ajoute une autre chaîne... }
   ListBox1.Items.Add('encore une autre chaîne');{ ...et une troisième chaîne}
   try
     Caption := ListBox1.Items[3];{ affecte la quatrième chaîne à l'intitulé de la fiche }
   except
     on EStringListError do
       ShowMessage('La boîte liste contient moins de quatre chaînes');
   end;
 end;

Si vous cliquez sur le bouton, comme la boîte liste ne contient que trois chaînes, l'accès à la quatrième chaîne déclenche une exception. Si vous cliquez une seconde fois sur le bouton, d'autres chaînes sont ajoutées à la liste et l'exception n'est donc plus déclenchée.

Outre gérer les exceptions que VCL déclenche, vous pouvez définir et déclencher vos propres classes d'exceptions VCL. Pour plus d'informations, voir Définition d'exceptions VCL personnalisées.

Voir aussi