Einzelnen Beitrag anzeigen

neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#7

Re: Wie Firebird-Exceptions handlen?

  Alt 14. Mai 2009, 17:10
Du kannst ja selbst bestimmen, was der User lesen soll. Dazu hilft Dir vielleicht dieser Code-Schnipsel als Ansatz:

Delphi-Quellcode:
  case Errcode of
  335544741:begin
              t:='Verbindung zur Datenbank verloren!'+#10#10+'Die Anwendung wird beendet.';
              do_halt:=true;
            end;
  335544721:begin
              t:='Verbindung zur Datenbank nicht möglich! Bitte ggfs. Dongle überprüfen!'+#10#10+'Die Anwendung wird beendet.';
              do_halt:=true;
            end;
  335544374:t:=' '; // Keine Daten
  335544375:t:='X:'+ErrorMessage.text;
  335544528:t:='X:'+ErrorMessage.text;
  335544755:t:='Wechsel des Passwortes misslungen!';
  335544352:begin
              t:='Keine Zugriffsberechtigung eingerichtet.'+#10#10+'Die Anwendung wird beendet.';
              do_halt:=true;
            end;
  335544336,335544345:t:='Datensatz ist in Bearbeitung!'+#10#10+sqlmessage.text+#10#10+sql.text;
  335544347:begin
              tt:=uppercase(ExtractDelimited(2, errormessage[3], [#34]));
              t:=uppercase(ExtractDelimited(5, errormessage[3], [' ',',']));
              t:=Format('Ungültiger Wert (%s) für das Feld ***%s*** !',[tt,t]);
            end;
  335544349:begin
              tt:=uppercase(ExtractDelimited(2, errormessage[3], [#34]));
              t:=Format('Einen Eintrag mit diesen Parametern gibt es bereits in dieser Tabelle'+#13#10#13#10+
                        'oder Sie haben nicht alle Felder für den Schlüssel (%s) ausgefüllt!',[tt]);
            end;
Die Idee ist es, den User zu informieren. Die genaue Meldung schreibt man ggf. in ein Errorlog.

--
Andreas
Andreas
  Mit Zitat antworten Zitat