![]() |
Exception auslösen funktioniert nicht
Hallo,
erstmal ein Stück Delphi Code:
Delphi-Quellcode:
Problem: der Block zwischen except und end wird niemals ausgeführt.
tslist := TStringList.Create();
tslist.Clear; tslist.Sorted := true; tslist.Duplicates := dupError; for i := 0 to hi do begin try tslist.Add(str[i])); except // mach was end; end; Wenn die Add Funktion eine Exception aufwirft, bekomme ich vom Programm trotzdem die Messagebox über die aufgetretene Exception:"Im Projekt ... ist eine Exception der Klasse EStringListError aufgetreten. Meldung:'In der Stringliste sind Duplikate nicht erlaubt'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen." Das sollte aber eigentlich nicht mehr kommen - stattdessen soll einfach der except-Block ausgeführt werden. Was mache ich falsch? (Die Units "Classes" und "Sysutils" sind im uses-Teil aufgeführt) Thomas |
Re: Exception auslösen funktioniert nicht
Was ist, wenn du die exe außerhalb von Delphi ausführst?
|
Re: Exception auslösen funktioniert nicht
dann hast du sicher einfach f9 gedrückt und dein program wird vom delphi debugger gestartet.........
startes einfach mal von außerhalb (also ausm explorer wo dein Project1.exe liegt) |
Re: Exception auslösen funktioniert nicht
Oder bau dir schnell ein tool, das sowas macht.
In Delphi: Werkzeuge - Konfigurieren - Neu: Programm: cmd.exe Parameter: /c start "Run" $EXENAME MfG freak |
Re: Exception auslösen funktioniert nicht
Erstmal danke für die schnellen Antworten.
Mir ist grad noch aufgefallen, dass der except-Block doch ausgeführt wird, und zwar NACHDEM diese doofe Exception-Meldung kommt und ich sie weggeklickt habe. Und das liegt am Debugger? Das muss man doch abschalten können - es kann doch nicht sein, dass wenn ich ein Programm mal schnell testen will dabei zehntausend Exceptionmeldungen wegklicken muss... Thomas |
Re: Exception auslösen funktioniert nicht
Jup, auch kein Problem:
Tools->Debugger-Optionen->Sprach-Exceptions->Haken bei "Bei Delphi-Exceptions stoppen" wegmachen ;) (Bei D7) |
Re: Exception auslösen funktioniert nicht
das is aber nich der sinn und zweck - der debugger is ja dazu da um fehler zu vermeiden -----
|
Re: Exception auslösen funktioniert nicht
Ich hab doch oben geschrieben, wie man sich schnell so ein klaines Tool schreibt. :angel2:
MfG freak |
Re: Exception auslösen funktioniert nicht
@barf00s: Der Zweck des Debugger ist *nicht*, Fehler zu vermeiden, sondern (u.AS) sie zu *zeigen*. Das wäre ja geil, wenn man bloss einen Debugger anwerfen müsste, um Fehler zu vermeiden... :lol:
|
Re: Exception auslösen funktioniert nicht
ja das war vllt schlecht formuliert von mir :)
aber du weist was ich damit meine |
Re: Exception auslösen funktioniert nicht
Gut das funktioniert so.
Vielen Dank für den Tipp! Thomas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05: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