Standard-Exception-Behandlung in VCL

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu In VCL-Anwendungen Exceptions behandeln

Wenn Ihr Anwendungscode die Exceptions, die ausgelöst werden, nicht abfängt und behandelt, werden diese schließlich von der Methode HandleException des globalen Application-Objekts abgefangen und behandelt. Für alle Exceptions mit Ausnahme von EAbort ruft HandleException die Ereignisbehandlungsroutine für OnException auf, wenn diese vorhanden ist. Falls keine Ereignisbehandlungsroutine für OnException vorliegt (und die Ausnahme nicht vom Typ EAbort ist), dann zeigt HandleException eine Fehlermeldung an, die der Exception zugeordnet ist.

Unter bestimmten Umständen wird HandleException nicht aufgerufen. Exceptions, die vor oder nach der Ausführung der Methode Run der Anwendung ausgelöst werden, werden von HandleException nicht abgefangen und behandelt. Wenn Sie eine Callback-Funktion oder eine Bibliothek (gemeinsam genutztes Objekt) mit Funktionen schreiben, die von einer externen Anwendung aufgerufen werden können, kann das Application-Objekt womöglich nicht alle Exceptions abfangen. Um dies zu verhindern, können Sie die Methode HandleException selbst aufrufen.

 try
 { Spezielle Anweisungen }
 except
   on Exception do
   begin
     Application.HandleException(Self);{ Aufruf von HandleException }
   end;
 end;

Warnung:  Rufen Sie HandleException nicht innerhalb der Exception-Behandlungsroutinen eines Thread auf.

Siehe auch