Ähnliches passiert mir auch öfter ... irgendwann bin ich dann dazu übergegangen machen functions selbst zu schreiben, und keine 'Unhandled
Exception' auszulösen, sondern die Fehlerbehandlung vor Ort durchzuführen.
Am beispiel von StrToInt:
Delphi-Quellcode:
function StrToInt_(const S: string; out E : boolean) : integer;
var
x : integer;
begin
Val(S, result, x);
E := x <> 0;
end;
Wenn die (ausgegebene) Variable E true ist, dann gab es keinen Fehler, wenn nicht, gab es einen. So hat man zwar ne if-Abfrage mehr, aber man könnte so mehrere konvertierungen zusammennehmen, und dann checken, ob es irgendwo nen fehler gab.
Diese Methode ist zwar umständlich, aber manchmal hilfreich.
ciao, Philipp