![]() |
Exception richtig auffangen
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:
Ich will nun diese Exception abfangen in meinem Code:
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;
Delphi-Quellcode:
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.
Try
ConnectSQLServer; Except on EZSQLException do begin MessageDlg(blahblah); exit; end; end; Wie kommt denn das oder was mache ich falsch? Gruß Gambit |
Re: Exception richtig auffangen
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*). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz