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