Zitat von
himitsu:
OK, wenn du die
Exception duchläßt dann nimmer, aber wenn man die
exception abgefangen hat, kann man die doch auch behandeln (selbst wenn es 'ne "System"-xception ist) ... oder wollt ihr den Programmvortlauf durch die
Exception steuern/abbrechen lassen?
Eine spannende Frage hierbei ist: kann man eigentlich in einer Funktion sowohl eine
Exception auslösen, als auch ein Funktionsergebnis zurückliefern, anders gefragt: hat der aufrufende Code überhaupt eine Chance, das Funktionsergebnis zu erhalten, wenn in der Funktion eine
Exception geworfen (und nicht behandelt) wird?
Beispiel:
Delphi-Quellcode:
try
X := ThrowsException(Y);
finally
// behandle Exception ...
end;
ComputeSomething(X);
Wird der Variable X noch der Funktionswert zugewiesen, der in der Methode ThrowsException (vor einem raise) dem Result zugewiesen wurde, bevor zum finally gesprungen wird? Oder ist der Wert von X beim Aufruf von ComputeSomething undefiniert?