Gut erklärt
Danke für die Mühe
Dem muss ich zustimmen
Delphi-Quellcode:
if (Graphics <> 0) then GdipDeleteGraphics(Graphics);
if (Fam <> nil) then GdipDeleteFontFamily(Fam);
if (TempFont <> nil) then GdipDeleteFont(TempFont);
Wobei das aber nicht zwingend voraussetzt das ich try..finally Blöcke verwenden muss.
Ich sehe auch nach deiner Erklärung keinen sinn dahinter da man alles auch ohne diese Blöcke erledigen kann.
Andererseits prüfe ich nie auf Nil..
Sondern auf bsp.
if Assigned(Fam) then
Ob ich jetzt hier
if boundingBox.Width > Width then
mit begin.. end else oder mit try.. finally abarbeite ist gehüpft wie gesprungen.
Ich sehe keine Bereicherung bei dieser Verwendung.
Zitat:
Die
Exception-Hilfsfunktion ist hierbei natürlich optional
Es ist Gewohnheit die Bedingungen direkt ohne Umwege zu prüfen. (Sehe da kein Manko in irgendeiner weise).
Wenn du mir einen triftigen Grund nennen kannst warum das Konstrukt so lebenswichtig ist lasse ich mich gerne überzeugen.
Ich sehe da aber so wie bei meinem Beispiel zur zeit keinen der mich dazu veranlassen könnte.
Das kann ich alles mit Bedingungen und der korrekten Freigabe von Objekten erledigen.. on the fly
gruss