Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fehlermeldung in try - except protokollieren (https://www.delphipraxis.net/51775-fehlermeldung-try-except-protokollieren.html)

MAVERIK 18. Aug 2005 14:28


Fehlermeldung in try - except protokollieren
 
Hallo Leute,

ich habe eine SQL-Anweisung in einem try - except - end Block untergebracht. Somit werden evtl. Fehlermeldungen dem Benutzer nicht angezeigt. Jedoch möchte ich die unterdrückten Fehlermeldungen in einer ListBox protokollieren. Wie muss ich da vorgehen? Ich hab mir schon den Kopf darüber zerbrochen, wie ich die Meldung im except-Abschnitt abgreifen kann? Vielleicht hat ja jemand eine Idee...

Delphi-Quellcode:
while not (qrWWS2.Eof) do
          begin
               frmDBReWriter.lblDatensatz.Caption := 'Datensatz ' + IntToStr(qrWWS2.RecNo) + ' von ' + IntToStr(qrWWS2.RecordCount);
               try
                  qrWWS3.SQL.Clear;
                  qrWWS3.SQL.Text:='INSERT INTO `tblBarVK_2` '+
                   '(`ID`, `ReNr`, `Anzahl`, `ArtikelNr`, `Artikel`,'+
                   ' `Brutto`, `MwSt`)'+
                   ' VALUES '+
                   '('''+qrWWS2.FieldByName('ID').AsString+''', '''+qrWWS2.FieldByName('ReNr').AsString+''', '''+qrWWS2.FieldByName('Anzahl').AsString+
                   ''', '''+qrWWS2.FieldByName('ArtikelNr').AsString+''', '''+qrWWS2.FieldByName('Artikel').AsString+''', '''+Trim(StringReplace(qrWWS2.FieldByName('Brutto').AsString, '.', ',', [rfReplaceAll,rfIgnoreCase]))+
                   ''', '''+Trim(StringReplace(qrWWS2.FieldByName('MwSt').AsString, '.', ',', [rfReplaceAll,rfIgnoreCase]))+''')';
                  qrWWS3.ExecSql;
               except
                     inc(iError);
                     frmDBReWriter.lblError.Caption := 'Fehler: ' + IntToStr(iError);

//Hier muss die Meldung abgefangen werden
ListBox1.Items.Add(...);


               end;
               qrWWS2.Next;
               frmDBReWriter.pbConvert.Position := frmDBReWriter.pbConvert.Position + 1;
          end;

Olli 18. Aug 2005 14:32

Re: Fehlermeldung in try - except protokollieren
 
Wie wäre das?:

Delphi-Quellcode:
ListBox1.Items.Add(frmDBReWriter.lblError.Caption);

MAVERIK 18. Aug 2005 14:36

Re: Fehlermeldung in try - except protokollieren
 
In dem Label frmDBReWriter.lblError.Caption zählt er nur die Anzahl der aufgetretenen Fehler. Die Fehlermeldung selber muss ich aber abgreifen. Und die steht da nicht drin!
Z.B. "Fehler in der SQL-Syntax bei '12345'...". Diese Meldung wird ja durch try,except unterdrückt, aber ich möchte sie dennoch protokollieren!

Flocke 18. Aug 2005 14:41

Re: Fehlermeldung in try - except protokollieren
 
Etwa so:
Delphi-Quellcode:
try
  //...
except
  on E: Exception do
  begin
    ListBox1.Lines.Add(E.Message);
  end;
end;

MAVERIK 18. Aug 2005 14:47

Re: Fehlermeldung in try - except protokollieren
 
Das isses. Allerding muss dass so aussehen.

Delphi-Quellcode:
try
  //...
except
  on E: Exception do
  begin
    ListBox1.Items.Add(E.Message);
  end;
end;

Danke für den Tipp.

sakura 18. Aug 2005 14:51

Re: Fehlermeldung in try - except protokollieren
 
Für Privatanwender kostenfrei und fürs Gewerbe sehr, sehr preiswert. MadExcept - hier ist ein Tutorial. Nur genial!

...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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