![]() |
Anmerkungn zum "Exceptions Tutorial"
Hallo,
zum Abschnitt "Wieso kommt Delphi mit manchen Exceptions nicht klar?" im Tutorial ![]() Man kann den Debugger doch dazu bringen an der richtigen Stelle stehen zu bleiben und die Exception korrekt anzuzeigen bzw. auszuwerten, indem man den Code wie folgt erweitert: normal (der Debugger Zeigt die Stelle der Exception nicht korrekt an):
Delphi-Quellcode:
besser (hier bleibt der Debugger dort stehen wo die Exception verursacht wird, also in Unit2.pas Zeile xy!):
Application.Initialize;
Foo(); // in der Procedure Foo() der unit2 wird durch 0 geteilt => Exception Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.Run;
Delphi-Quellcode:
Was meint die Delphi-Gemeinde, kann man das so machen, sollte man das so machen, oder birgt das Gefahren?
try
Application.Initialize; Foo(); // in der Procedure Foo() der unit2 wird durch 0 geteilt => Exception Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.Run; except // durch diese Zeilen werden auch Exceptions vor Application.Run korrekt behandelt! Application.HandleException(Application);// end; Nachtrag: das "try except" sorgt dafür, dass mir die richtige Stelle angezeigt wird. (Ein "try finally" reicht nicht aus.) Das Application.HandleException(Application) sorgt dann noch für die bekannte MessageBox. mfg, Tobi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 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