Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Fehlerbehandlung einstellen (https://www.delphipraxis.net/98497-fehlerbehandlung-einstellen.html)

WIng2005 28. Aug 2007 10:07


Fehlerbehandlung einstellen
 
Hallo,

wenn ich mein Projekt testen will, stürtz das Programm ständig
an bei einer Division durch 0 ab (bzw. bringt eine Fehlermeldung).

Delphi-Quellcode:
try
x:=x/y //y=0
except
end;
Die exe manuell gestartet funktioniert logischerweise... nur aus Delphi heraus, wird das try ignoriert.
Kann man die Verfahrensweise des Compilers irgenwo einstellen?

EDIT: Delphi 7

MFG
Steffen

SirThornberry 28. Aug 2007 10:13

Re: Fehlerbehandlung einstellen
 
also das try wird nicht ignoriert sondern der debugger bringt dir einfach nur eine Fehlermeldung. Dieser wird jedoch behandelt durch das Try-Except. Das kann man in den Optionen abstellen.
Sinnvoller fände ich wenn du einfach prüfst ob y = 0 ist bevor du die division ausführst.
Beim autofahren versucht man ja auch auszuweischen zu bremsen etc. und sagt sich nicht: ich fahr dem da vorn einfach drauf, der airbag rettet mich schon.

DeddyH 28. Aug 2007 10:14

Re: Fehlerbehandlung einstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Unter Delphi 5 hier (CheckBox "Bei Delphi-Exceptions stoppen")

RavenIV 28. Aug 2007 10:53

Re: Fehlerbehandlung einstellen
 
Also ein try, ohne die Exception im except zu behandeln, ist schon mal eh schlechter Stil.

Wie ein Vorredner schon angedeutet hat, solltest Du es nicht darauf ankommen lassen, sondern den möglichen Fehlerfall vorher abprüfen:

Delphi-Quellcode:
if y <> 0 then
begin
  a := x / y;
end
else
begin
  // eine MessageBox oder andere Fehlerbehandlung
end;
Somit erzeugst Du keine Exception, die dann nachher nicht behandelt wird.

Hier im Forum gibt es auch ein Tutorial zu Exceptions.
Dieses solltest Du dringend mal durcharbeiten...

WIng2005 28. Aug 2007 20:42

Re: Fehlerbehandlung einstellen
 
Also zum Einen ist im Except-teil meines Programmes eine entsprechende Behandlung
und zum Anderen sollte der Code eher exemplarisch sein. Was ich wissen wollte ist, ob man
hier durch die Delphi-Einstellungen was ändern kann (@DeddyH: schau morgen mal, wie das bei D7 ist...danke).
Der Code selbst könnte also auch ein Verbindungsversuch zu einer DB oder sonstwas sein... hauptsache,
es tritt ein Fehler auf. Was danach im Except-Teil ist, spielt für meine Frage absolut keine Rolle.


MFG
Steffen


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 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