Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#11

AW: EllipsisCharacter funktioniert nicht

  Alt 21. Feb 2017, 23:43
mit begin.. end else oder mit try.. finally arbeite ist gehüpft wie gesprungen.
Ich sehe keine Bereicherung bei dieser Verwendung.
Schau dir nochmal das Beispiel aus meinem Edit an, vielleicht wird dann klarer was ich meine.

Konkret hat try..finally für dich in deinem Codebeispiel die folgenden Vorteile:
  1. Die Tiefe deiner Verschachtelung nimmt nicht pro Objekt/Handle um eine Ebene zu
  2. Du hast keine redundanten Finalisierungen

Klar kannst du es auch ohne try..finally hinbekommen, dass deine Objekte nur finalisiert werden, wenn sie zuvor auch korrekt initialisiert wurden, aber dann landest du zwangsweise bei Variante 1 oder 2 meines "C" Negativbeispiels.

Edit:
Andererseits prüfe ich nie auf Nil..
Sondern auf bsp. if Assigned(Fam) then
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).
Beides vollkommen legitim Der Springende Punkt ist eher, dass mit deiner Überprüfung ein neuer Block (und damit eine neue Verschachtelungs-Ebene) einhergeht, während bei der try..finally Variante lediglich ein Exit bzw. ein raise folgen muss.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)

Geändert von Zacherl (21. Feb 2017 um 23:48 Uhr)
  Mit Zitat antworten Zitat