Hi,
wie würdet ihr am besten eine
Exception im construktor handlen?
Delphi-Quellcode:
class TCMyClass
private
mInt:Integer;
public
constructor create(
const myInt:integer);
end;
constructor TCMyClass.create(
const myInt:integer);
begin
if not inRange(myInt, 5,19)
then raise Exception.create('
value is not in Range..');
mInt:=myInt;
end;
Bis jetzt sehe ich nur folgende möglichkeit:
Delphi-Quellcode:
function doSomething(
const toCheck:integer):boolean;
var
lala:TCMyClass;
// toCheck ist z.b. integer der nur von 5-19 gehen soll ansonsten exception
begin
result:=false;
try
lala:=TCMyClass.Create(toCheck);
except
lala:=nil;
exit;
end;
try
lala.doWork();
finally
FreeAndNil(lala);
end;
end;
Falls es elegantere Möglichkeiten gibt Preconditions im Konstruktor abzudecken würde
ich mich freuen welche zu sehen
gruß konse