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.