AGB  ·  Datenschutz  ·  Impressum  







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

Exception handling

Ein Thema von youuu · begonnen am 21. Jun 2009 · letzter Beitrag vom 22. Jun 2009
Antwort Antwort
Seite 1 von 2  1 2      
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#1

Exception handling

  Alt 21. Jun 2009, 20:20
Datenbank: MYSQL • Zugriff über: ODBC
Hi,

ich beschäftige mich gerade mit Exception

Ich möchte gerne eine Exception so abfangen.

Delphi-Quellcode:

  Except
    on e: EMySQLException do
    Showmessage('existiert bereits!');
E2003 Undeklarierter Bezeichner: 'EMySQLException'
Steven
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Exception handling

  Alt 21. Jun 2009, 20:30
ist EMySQLException definiert und ist diese Definition auch im Namensraum dieser Stelle vorhanden?
$2B or not $2B
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Exception handling

  Alt 21. Jun 2009, 20:32
Nein habe ich nicht, ich nahm an, da ich diese Exception ausgegeben wurde ich sie so verwenden kann.

Es geht darum keine Duplikate in Mysql zu speichern.

Erste Gelegenheit für Exception bei $7C812AFB. Exception-Klasse EMySqlException mit Meldung '
#23000Duplicate entry 'Test' for key 2'.
Steven
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: Exception handling

  Alt 21. Jun 2009, 20:47
Dann mußt du suchen, wo diese Exception-Klasse definiert ist und die entsprechende Unit in deine Uses-Liste aufnehmen.
$2B or not $2B
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Exception handling

  Alt 21. Jun 2009, 20:58
Habe ich nun eingebunden allerdings wird das nun ignoriert

Delphi-Quellcode:
uses Mysqlerrors;
.
.
.

 Except
    on e: EMySQLException do
      Showmessage('Test existiert bereits!');
Fehler tritt auf, jedoch wird die Nachricht nicht raus gesand das es schon existiert sondern normal Exception Massage.
Steven
  Mit Zitat antworten Zitat
Benutzerbild von nachti1505
nachti1505

Registriert seit: 7. Apr 2007
188 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Exception handling

  Alt 21. Jun 2009, 21:19
Wenn du dein Prog aus der Delphi-IDE startest, zeigt er immer erst die Default-Exception an. Drückst du nach Anzeige dieser Exception nochmals auf F9, kommt dein definierter Code zum tragen.

Beim Starten des Kompilat wird dann nur noch dein Exception-Handling durchgeführt.

Alternativ kannst du irgendwo in den Options das default-handling ausstellen (ist aber nicht empfehlenswert)!
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Exception handling

  Alt 21. Jun 2009, 21:27
Zitat von nachti1505:
Wenn du dein Prog aus der Delphi-IDE startest, zeigt er immer erst die Default-Exception an. Drückst du nach Anzeige dieser Exception nochmals auf F9, kommt dein definierter Code zum tragen.

Beim Starten des Kompilat wird dann nur noch dein Exception-Handling durchgeführt.

Alternativ kannst du irgendwo in den Options das default-handling ausstellen (ist aber nicht empfehlenswert)!
Das weiß ich, allerdings wenn ich die .exe starte ist es genauso Showmessage wird ignoriert wenn die Exception auftritt und es wird nur die Exception Duplicate entry angezeigt.
Steven
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: Exception handling

  Alt 21. Jun 2009, 22:49
Ist dann ganz simpel: Die Exception wird nicht in dem Codeabschnitt geworfen, den du mit try/except umschlossen hast. Also entweder ist es ein anderer MySQL Aufruf oder das ganze läuft asynchron ab und wird somit in einem anderen Thread geworfen...
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Exception handling

  Alt 22. Jun 2009, 02:51
Oder die geworfene Exception gehört nicht zu der Klasse, die du erwartest.
Mit folgenden Code kannst du anzeigen zu welcher Klasse die Exception gehört.
Delphi-Quellcode:
Except
  on E: Exception do
    ShowmessageFmt('%s'#13#10'Class: %s', [E.Message, E.Classname]);
fork me on Github
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#10

Re: Exception handling

  Alt 22. Jun 2009, 07:30
Zitat von sx2008:
Oder die geworfene Exception gehört nicht zu der Klasse, die du erwartest.
Nun ja, er hat den gesamten Dialog kopiert und somit sollte das schon passen...

Zitat von youuu:
Erste Gelegenheit für Exception bei $7C812AFB. Exception-Klasse EMySqlException mit Meldung '
#23000Duplicate entry 'Test' for key 2'.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:59 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