Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#3

AW: Exceptions gehen zwischen den Threads verloren?

  Alt 21. Dez 2015, 14:53
Fehler bei der Nutzung der ADO-Komponenten fange ich immer so in der Art ab:
Delphi-Quellcode:
    try
      Con.Connected := true;
      qry.SQL.Text := 'select * from Tabelle';
      qry.Open;
    Except
      on e : EAdoError do begin
        slError := TStringList.Create;
        slError.Add(e.Message);
        if con.Errors.Count > 0 then begin
          for i := 0 to con.Errors.Count - 1 do begin
            slError.Add('Number: ' + IntToStr(con.Errors.Item[i].Number));
            slError.Add('NativeError: ' + IntToStr(con.Errors.Item[i].NativeError));
            slError.Add('Description: ' + con.Errors.Item[i].Description);
            slError.Add('Source: ' + con.Errors.Item[i].Source);
            slError.Add('HelpFile: ' + con.Errors.Item[i].HelpFile);
            slError.Add('SQLState: ' + con.Errors.Item[i].SQLState);
          end;
          MessageDlg(slError.Text,mtError, [mbOk],0);
        end else begin
          MessageDlg(e.Message + #13#13 + qry.SQL.Text, mtError, [mbOk], 0);
        end;
        slError.Free;
      end;
      on e : Exception do begin
        MessageDlg(e.Message + #13#13 + qry.SQL.Text, mtError, [mbOk], 0);
      end;
Informationsverluste sind mir da bisher nicht aufgefallen.
(Die Aussagefähigkeit dieser Meldungen ist allerdings auch nicht immer unbedingt prickelnd )
  Mit Zitat antworten Zitat