AGB  ·  Datenschutz  ·  Impressum  







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

Exception richtig auffangen

Ein Thema von Gambit · begonnen am 1. Okt 2004 · letzter Beitrag vom 1. Okt 2004
Antwort Antwort
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#1

Exception richtig auffangen

  Alt 1. Okt 2004, 20:28
Hallo,

ich connecte zu einem MySQL-Server. Wenn die Verbindung nicht hergestellt werden kann, wird in einer Klasse der Zeos-Komponenten eine Exception ausgelöst. Hier mal der Auszug aus der Unit wo der Debugger stoppt und mir eine EZSQLException mitteilt:

Delphi-Quellcode:
procedure CheckMySQLError(PlainDriver: IZMySQLPlainDriver;
  Handle: PZMySQLConnect; LogCategory: TZLoggingCategory; LogMessage: string);
var
  ErrorMessage: string;
  ErrorCode: Integer;
begin
  ErrorMessage := Trim(StrPas(PlainDriver.GetLastError(Handle)));
  ErrorCode := PlainDriver.GetLastErrorCode(Handle);
  if (ErrorCode <> 0) and (ErrorMessage <> '') then
  begin
    DriverManager.LogError(LogCategory, PlainDriver.GetProtocol, LogMessage,
      ErrorCode, ErrorMessage);
    raise EZSQLException.CreateWithCode(ErrorCode, <------------------da die Exception
      Format(SSQLError1, [ErrorMessage]));
  end;
end;
Ich will nun diese Exception abfangen in meinem Code:

Delphi-Quellcode:
Try
  ConnectSQLServer;
Except
  on EZSQLException do begin
    MessageDlg(blahblah);
    exit;
  end;
end;
nun funzt das aber nicht, ich scheine in den Except Block gar nicht reinzukommen. Schalte ich die Sprachexceptions im Debugger ab, werden irgendwann die Routinen in der Prozedur nach dem Try-Except Block ausgeführt.
Wie kommt denn das oder was mache ich falsch?

Gruß

Gambit
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#2

Re: Exception richtig auffangen

  Alt 1. Okt 2004, 23:02
Wenn du das ganze von der IDE aus startest, unterbricht der Debugger standardmäßg immer wenn eine Exception auftritt (außer wenn wie du schon gesagt hast man das abschaltet).

Vielleicht fängst du die Exception an einer falschen Stelle ab oder da wird ne andere draus (*zeos-noch-nie-benutzt-hab*).
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  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 17:40 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