Einzelnen Beitrag anzeigen

Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#1

Exceptions und so ... Gedankenspiele

  Alt 23. Sep 2016, 10:00
Delphi-Version: 10 Seattle
Der Vortrag von Bernd Ua, bei den letzten Delphi-Tagen, hat mich veranlasst etwas mehr über Exception-Behandlung nachzudenken. (Danke übrigens für den tollen Vortrag)

Exceptions haben im Laufe der Zeit bei mir eine Evolution erlebt.

Früher Exceptions tot geschwiegen.

Delphi-Quellcode:
try
  // hier der Code mit Fehlern
except
  // Hier überhaupt nichts drin
end;
  // Und blos kein Finally (würg)
Heute rege Benutzung von Exceptions.

Aber es gibt ja immer noch was zu lernen und zum Nachdenken. Dank dem Vortrag von Bernd.

***************************************

Genug der Worte. Hier mal eine Frage.

Oft wiederholen sich Exceptions und die dazu vorherige Auswertung.

Delphi-Quellcode:
if not inrange(aIndex,MinValue,MaxValue) then
  Raise Exception.create('Index out of range: Index='+inttostr(aIndex)+' MinValue='+inttostr(MinValue)+' MaxValue='+inttostr(MaxValue));
Spricht irgendwas dagegen dies in einer Funktion zusammen zu fassen?

Delphi-Quellcode:
Procedure RaiseIfNotInRange(aIndex:Integer;aMinValue:Integer;aMaxValue:Integer);
begin
if not inrange(aIndex,aMinValue,aMaxValue) then
  Raise EMyOutOfRangeException.create('Index out of range: Index='+inttostr(aIndex)+' MinValue='+inttostr(aMinValue)+' MaxValue='+inttostr(aMaxValue));
end;
Dann im Code nur noch folgendes aufrufen.

  RaiseIfNotInRange(aIndex,3,10);

Ist doch viel weniger Tipparbeit. Spricht etwas dagegen das so zu machen? Leidet die Lesbarkeit? Ich weis, ist ne banale Frage. Einfach machen und gut ist. Aber die Meinungen dazu interessieren mich schon.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat