Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

Re: Exceptions von weit weg abfangen

  Alt 22. Feb 2006, 10:36
Code:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Dialogs;

procedure second;
begin
  case Round(Random) of
    0: StrToInt('Zwei');       // EConvertError
    1: TObject(nil).Destroy;   // Allgemeine Schutzverletzung
  end;
end;

procedure first;
begin
  try
    second;
  except
    ShowMessage('Es ist ein Fehler aufgetreten.');
  end;
end;

begin
  Randomize;
  first;
end.
Zitat von JPSelter:
Die Prozedur "second" stammt aus einer anderen Unit an der ich nichts verändern möchte. Gleichzeitig besteht aber die Gefahr, dass genau dort eine Exception geworfen wird. Die möchte ich aber abfangen, also dachte ich mir, dass die aufrufende Prozedur "first" dies tun könnte. Macht sie aber nicht. Das was ich dort in die except-Klausel schreibe, wird einfach ignoriert. Wie kann ich das lösen?
Das sollte auf jeden Fall funktionieren!!!
Die Unit SysUtils sollte aber eingebunden werden, sonst kann es bei Fehlern statt Exceptions auch RuntimeErrors geben. Die dann das Programm direkt beenden.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat