Gestion des exceptions par défaut dans la VCL

De RAD Studio
Aller à : navigation, rechercher

Remonter à Gestion des exceptions dans les applications VCL


Si le code de votre application n'intercepte pas et ne gère pas les exceptions déclenchées, celles-ci sont finalement interceptées et gérées par la méthode HandleException de l'objet global Application. Pour toutes les exceptions sauf EAbort, HandleException appelle, s'il existe, le gestionnaire d'événement OnException. S'il n'y a pas de gestionnaire d'événement OnException (et que l'exception n'est pas EAbort), HandleException affiche le message d'erreur associé à l'exception.

Dans certaines circonstances, HandleException n'est pas appelée. Les exceptions ayant lieu avant ou après l'exécution de la méthode Run de l'application ne sont pas interceptées et gérées par HandleException. Lorsque vous écrivez une fonction callback ou une bibliothèque (.dll ou objet partagé) avec des fonctions pouvant être appelées par une application externe, les exceptions peuvent sortir de l'objet Application. Pour empêcher les exceptions de sortir de cette façon, vous pouvez insérer votre propre appel de la méthode HandleException :

 try
 { instructions spéciales }
 except
   on Exception do
   begin
     Application.HandleException(Self);{ call HandleException }
   end;
 end;

Avertissement : N'appelez pas HandleException depuis le code de gestion des exceptions d'un thread.

Voir aussi