Zitat von
eddy:
Hi Lucki,
ich hab' beide Varianten mal in ein Programm eingebunden.
Einer macht den Braten ja auch nicht fett, aber wenn du dann noch try-finally-Blöcke hast und alles mit diesen try-except-Blöcken machst, dann bekomst du den Overhead.
Was würdest du denn nehmen:
Delphi-Quellcode:
try
sl.LoadFromFile(Filename);
except
RaiseKastOSError();
end;
oder
Delphi-Quellcode:
if FileExists(Filename) then
sl.LoadFromFile(Filename)
else
ShowMessage('Datei nicht gefunden.');
Du machst doch im Prinzip mit deinem try-except-Block folgendes: Du fährst mit Vollgas auf die Kreuzung und wenn es kracht, war es rot. Was mache ich? Ich kucke vorher auf die Ampel und wenn es grün ist fahre ich, ansonsten bleibe ich stehen.
So habe es gefunden. Jeffrey Richter schreibt folgendes zum Structured
Exception Handling (SEH):
Zitat:
Your compiler must
generate special code when
exception blocks are entered into and exited from. The compiler must
produce tables of support data structures to
handle SEH. The compiler also must
supply callback functions that the operating system can call so that
exception blocks can be traversed. And the compiler is responsible for
preparing stack frames and other internal information that is used and referenced by the operating system.
Aöso, wenn das keinen Overhead bedeutet, dann weiß ich es auch nicht.