Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Exception auslösen funktioniert nicht (https://www.delphipraxis.net/46845-exception-ausloesen-funktioniert-nicht.html)

Majortomster 1. Jun 2005 15:27


Exception auslösen funktioniert nicht
 
Hallo,

erstmal ein Stück Delphi Code:

Delphi-Quellcode:
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;
Problem: der Block zwischen except und end wird niemals ausgeführt.
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

Ultimator 1. Jun 2005 15:29

Re: Exception auslösen funktioniert nicht
 
Was ist, wenn du die exe außerhalb von Delphi ausführst?

barf00s 1. Jun 2005 15:30

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)

freak4fun 1. Jun 2005 15:33

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

Majortomster 1. Jun 2005 15:38

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

Ultimator 1. Jun 2005 15:41

Re: Exception auslösen funktioniert nicht
 
Jup, auch kein Problem:
Tools->Debugger-Optionen->Sprach-Exceptions->Haken bei "Bei Delphi-Exceptions stoppen" wegmachen ;) (Bei D7)

barf00s 1. Jun 2005 15:48

Re: Exception auslösen funktioniert nicht
 
das is aber nich der sinn und zweck - der debugger is ja dazu da um fehler zu vermeiden -----

freak4fun 1. Jun 2005 15:53

Re: Exception auslösen funktioniert nicht
 
Ich hab doch oben geschrieben, wie man sich schnell so ein klaines Tool schreibt. :angel2:

MfG
freak

alzaimar 1. Jun 2005 16:04

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:

barf00s 1. Jun 2005 16:06

Re: Exception auslösen funktioniert nicht
 
ja das war vllt schlecht formuliert von mir :)
aber du weist was ich damit meine


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz