Einzelnen Beitrag anzeigen

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