![]() |
Re: E/A Fehler abfangen?
An sich ist es das ja auch. Aber man muss abwägen. Ich denke, ich muss dir nicht sagen, was ein try-except-Block für den Compiler, den resultierenden Sourcecode und nachher für die CPU bedeutet, die den Code ausführt.
Als erstes muss der Compiler sehr viel zusätzlichen Code erzeugen, dieser muss dann auch von der CPU abgearbeitet werden. Und wenn dann auch noch die Exception auftritt, stelle ich es mir immer so vor, als ob die CPU am schimpfen ist, wie ein Rohrspatz, weil sie letztendlich den ganzen Stack absuchen muss, nach dem Punkt, wo sie weitermachen kann. Iregendwie so war das. Ich muss das im Richter nochmal nachlesen oder wo das stand. Jedenfalls, wenn ich auch nicht genau weiß, wie Exception umgesetzt werden, weiß ich, dass sie für die CPU unheimlich viel Arbeit, Taktzyklen usw. bedeuten und das der Compiler ein Haufen zusätzlichen Code generieren muss. Deswegen versuche ich try-except-Konstrukte zu vermeiden und nur da zu nutzen wo es nicht anders geht. Mir stehen jedes mal die Haare zu Berge, wenn ich so was lese: "Wie kann ich überprüfen, ob es sich um ein Integer handelt?" Antwort:
Delphi-Quellcode:
So und jetzt die Preisfrage an alle: Wie macht man es richtig bzw. eleganter ohne try-except-Block? :zwinker:
try
i := IntToStr(Value); result := True except result := False; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz