Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Wie Exceptions im Hauptprogram auslösen?

  Alt 9. Sep 2005, 18:56
Hallo BlueStar,

die korrekte Art eine Exception außerhalb von Application.Run() auszulösen ist - an deinem Beispiel-Code demonstriert - diese:

Delphi-Quellcode:
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);

  try
    raise Exception.Create('Test');
  except
    on E: Exception do
    begin
      Application.ShowException(E);
      if MustTerminate(E) then
        Application.Terminate;
    end;
  end;

  Application.Run;
end.
In der unit, in der deine Fehlerbehandlungsroutinen versammelt sind, könnte das hier noch Platz finden:

Delphi-Quellcode:
function MustTerminate(E: Exception): boolean;
begin
  Result := false;
end;
Nur so kannst du an einer solchen Stelle verhindern, dass deine Exception zum OS durchschlägt.

Grüße vom marabu
  Mit Zitat antworten Zitat