AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Exception lässt sich nicht abfangen

Ein Thema von Overclocker · begonnen am 14. Mär 2008 · letzter Beitrag vom 14. Mär 2008
Antwort Antwort
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#1

Exception lässt sich nicht abfangen

  Alt 14. Mär 2008, 17:34
Hi,

folgendes Problem bei dem Code:
Delphi-Quellcode:
  
begin
        with dm.VarCommand1 do
        begin
        commandtext := 'INSERT INTO db(sdf, sdf, sdf,sdf, sdf, sdf, sdf, sdf, sdf, sdf, sdf, sdf)'
        +' VALUES (:sdf,:sdf,:sdf,:sdf,:sdf,:plz,:sdf,:sdf,:sdf,:sdf,:sdf,:sdf)';
        Parameters.parambyname('123').value := Edit1.text;
...
        try execute
        except messagedlg('Fehler beim Speichern, bitte überprüfen Sie ihre Eingaben',mtError,[mbOK],0);
        end;
   end;
wenn beim speichern (also wenn execute aufgerufen wird ) ein fehler auftritt, die exception mit dem messagedlg abfangen.

z.b. bei einem integer feld schreib ich 'test' rein,dann kommt die exception dass das feld kein Integer ist (kennt ihr ja) aber danach kommt KEINE Fehlermeldung von mir

wieso führt er das nicht aus???
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Exception lässt sich nicht abfangen

  Alt 14. Mär 2008, 17:37
Weil sich der auslösende Code nicht innerhalb des Try-Blocks befindet
Markus Kinzler
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#3

Re: Exception lässt sich nicht abfangen

  Alt 14. Mär 2008, 17:40
ah ok hab mal alles in den try ... gesetzt dann gings

aber wieso?kann mir einer die logik sagen?
dachte immer:

Try... anweisung(also z.b. das execute)
except ...anweisung(showmessage....usw.)
finally(führt er aus bei fehlerfreiem ablauf,wobei except und finally nicht gleichzeitig genutzt werden können oder?))

danke
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: Exception lässt sich nicht abfangen

  Alt 14. Mär 2008, 17:42
Richtig - das stimmt so schon, aber:

Die Exception kommt bereits bei "Parameters.parambyname('123').value := Edit1.text;" - also ausserhalb des try-Blocks
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Exception lässt sich nicht abfangen

  Alt 14. Mär 2008, 17:45
finally wird auf jedenfall ausgeführt
Markus Kinzler
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#6

Re: Exception lässt sich nicht abfangen

  Alt 14. Mär 2008, 17:49
@jfheins

aber wieso kommt hier schon die exception?Selbst wenn ich hier ins feld wo als integer deklariert wurde (NUR in der datenbank) einen text reinschreibe, so kommt die verbindung doch erst bei EXECUTE zustande, d. h. erst hier wird doch geprüft ob alles passt oder nicht?
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#7

Re: Exception lässt sich nicht abfangen

  Alt 14. Mär 2008, 17:52
Setze mal nen Breakpoint und geh mit F7/F8 durch, dann siehst du genau, wo die Exception herkommt
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#8

Re: Exception lässt sich nicht abfangen

  Alt 14. Mär 2008, 17:54
ah ok hast recht

wieder was dazugelernt dankeschön

schönes wochenende
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 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