Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Try, Except Problem (https://www.delphipraxis.net/64400-try-except-problem.html)

trashcandesign 3. Mär 2006 08:46


Try, Except Problem
 
Hi,

ich habe folgendes (ab)geschrieben:

Delphi-Quellcode:
try
  JvDBGrid1.Columns[PreviousColumnIndex].title.Font.Style :=
  JvDBGrid1.Columns[PreviousColumnIndex].title.Font.Style - [fsBold];
except
end;
wobei der PreviousColumnIndex beim start -1 ist.
Wenn ich das jetzt ausführe schmiert er mir mit der Meldung:
'List index out of bounds (-1)'
ab. Sollte das nicht durch das Try/Except abgefangen werden ?
muss ich da in der IDE noch irgendwelche Einstellungen vornehmen ?

gruß
trashcandesign

mkinzler 3. Mär 2006 08:49

Re: Try, Except Problem
 
Ja, die Sprachexceptions ausschalten. Standardmässig werden die Exceptions in der IDE trotz Exceptionhandler angezeigt.

Duke_2004 3. Mär 2006 08:50

Re: Try, Except Problem
 
Im eigentlichen Programm (also außerhalb der IDE) dürfte der Fehler net kommen.

Bei Delphi 6 unter Tools -> Debugger-Optionen -> Sprach-Exceptions den Haken bei "Bei Delphi-Exceptions stoppen" entfernen... Dann kommt er auch in der IDE net mehr... :-)

Muetze1 3. Mär 2006 09:32

Re: Try, Except Problem
 
und warum nicht ganz einfach sowas?

Delphi-Quellcode:
If ( PreviousColumnIndex > -1 ) Then
Begin
  JvDBGrid1.Columns[PreviousColumnIndex].title.Font.Style :=
  JvDBGrid1.Columns[PreviousColumnIndex].title.Font.Style - [fsBold];
End;

shmia 3. Mär 2006 09:32

Re: Try, Except Problem
 
richtig wäre folgender code ohne Try..Except:
Delphi-Quellcode:
   if PreviousColumnIndex >= 0 then
      JvDBGrid1.Columns[PreviousColumnIndex].title.Font.Style :=
      JvDBGrid1.Columns[PreviousColumnIndex].title.Font.Style - [fsBold];
Wenn du try..except verwendest, dann wäre das so, als ob ein Chirurg einen
Patienten mit dem Skalpell schneidet und wenn dieser schreit, hält er ihm einfach den Mund zu.
Und das nur, weil der Chirurg zu faul ist, um nachzuschauen, ob der Patient schon weggetreten ist.

trashcandesign 3. Mär 2006 10:07

Re: Try, Except Problem
 
Danke euch allen.

@shmia: stimmt eigentlich, ich muss unbedingt noch ein Gespür dafür entwickeln, was ich wann am besten einsetzte

Gruß
trashcandesign


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:51 Uhr.

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