Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#28

AW: Zwei Objekte in einem oder zwei Try Finaly Blöcke?

  Alt 15. Apr 2015, 15:14
@stahli

Vielleicht bringe ich mal einen anderen Betrachtungspunkt in das Spiel. Ein Beispiel:
Delphi-Quellcode:
type
  TTest = class
  public
    constructor Create;
  end;

constructor TTest.Create;
begin
  raise Exception.Create('Fehler');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Test: TTest;
begin
  Test := TTest.Create;
  try
    ShowMessage('Im Try');
    Abort;
  finally
    ShowMessage('Im Finally');
    Test.Free;
  end;
end;
In Create wird eine Exception ausgelöst. Hier ist es unwichtig ob es einen Try Finally oder gar Try Exception Block gibt. Der kommt erst gar nicht ins Spiel. Macht es in Create Krachbumm, wird der Fehler intern abgewickelt, bzw. es geht intern sofort zum Destructor. Try Finally ist für Fehler gedacht die später kommen.
  Mit Zitat antworten Zitat