Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.154 Beiträge
 
Delphi 12 Athens
 
#1

Wann werden Exception-Objekte freigegeben?

  Alt 8. Sep 2009, 20:33
Mal so rein aus Interesse. (hab meinen Code nun doch anders gestaltet)

Wann werden diese Objekte denn eigentlich freigegeben?


Bis grad eben hatte ich noch Folgendes verbaut:
Delphi-Quellcode:
Class Procedure TXHelper.HandleException(E: Exception; Proc: TXMLExceptionEvent; Owner: TObject);
  Var B: Boolean;

  Begin
    B := False;
    Try
      If Assigned(Proc) Then Proc(Owner, E, B);
    Except
      On E2: Exception do Begin
        E := E2;
        B := True;
      End;
    End;
    If B Then ShowException(E, nil);
  End;
Aufgerufen wurde/wird es bei mir so:
Delphi-Quellcode:
Try
  ...
Except
  On E: Exception do TXHelper.HandleException(E, _OnException, Self);
End;
Ich konnte diesen Code bis jetzt noch nicht testen (da das Gesamtprojekt noch nicht wieder lauffähig ist)

Wäre es da eventuell zu Problemen gekommen?

Also E ist ja noch innerhalb seiner Except-Blocks,
aber E2 wäre ja außerhalb gewesen.


PS: jetzt sieht mein Code so aus:
Delphi-Quellcode:
Class Procedure TXHelper.HandleException(E: Exception; Proc: TXMLExceptionEvent; Owner: TObject);
  Var B: Boolean;

  Begin
    Try
      B := False;
      If Assigned(Proc) Then Proc(OwnerE, B);
      If B Then ShowException(E, nil);
    Except
      On E2: Exception do ShowException(E2, nil);
    End;
  End;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat