Einzelnen Beitrag anzeigen

Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#23

Re: Exception richtig behandeln

  Alt 8. Nov 2009, 14:57
Hallo,

ich bin immer noch dabei meine Exceptionbehandlungen zu ergänzen. Ist es OK, wenn ich am Anfang meiner Funktion, in der verschiedene Fehler auftreten können, Umwandlungen von Zeit in String oder String in Integer etc. in einem großen gemeinsamen

Delphi-Quellcode:
try

except
Block packe. Und wäre es OK, wenn der except Teil dann leer ist. Wenn ich wie unten das so machen würde, dann wäre ja im except Block keine Anweisung notwendig, da ja der obere try Block komplett abgebrochen wird. Also denke ich brauche ich auch kein Rollback und so.

Delphi-Quellcode:
procedure TForm1.TreeViewResultMB100(ParserTreeViewMB100: TMyBaseParser);
var
  Daten : TOMBSerie;
begin
try
  QryMB100.Close;
  QryMB100.SQL.Text := 'INSERT INTO MB100'+
      '(LFDNR, DATUM, UHRZEIT, EREIGNIS, TEILNEHMER, BEREICH)'+
      'VALUES(:LfdNr,:Datum,:Uhrzeit,:Ereignis,:Teilnehmer,:Bereich)';

  QryMB100.ParamByName('Lfdnr').AsInteger := ParserTreeViewMB100.EntriesMB100[0].LfdNr;
  QryMB100.ParamByName('Datum').AsDate := StrToDate(ParserTreeViewMB100.EntriesMB100[0].Datum);
  QryMB100.ParamByName('Uhrzeit').AsTime := StrToTime(ParserTreeViewMB100.EntriesMB100[0].Uhrzeit);
  QryMB100.ParamByName('Ereignis').AsString := ParserTreeViewMB100.EntriesMB100[0].Ereignis;
  QryMB100.ParamByName('Teilnehmer').AsString := ParserTreeViewMB100.EntriesMB100[0].Teilnehmer;
  QryMB100.ParamByName('Bereich').AsString := ParserTreeViewMB100.EntriesMB100[0].Bereich;

  QryMB100.ExecSQL;
  ConSecurdat.Commit;

  QryMB100.Close;
  QryMB100.SQL.Text := 'Select Max(ID) As ID From MB100';
  QryMB100.Open;

  VST.BeginUpdate;
  Daten := TOMBSerie.Create;
  with Daten do
  begin
    Daten.ID := QryMB100.FieldByName('ID').AsInteger;
    Daten.LfdNr := ParserTreeViewMB100.EntriesMB100[0].LfdNr;

    Daten.Datum := ParserTreeViewMB100.EntriesMB100[0].Datum;
    Daten.Uhrzeit := ParserTreeViewMB100.EntriesMB100[0].Uhrzeit;

    Daten.Ereignis := ParserTreeViewMB100.EntriesMB100[0].Ereignis;

    Daten.Teilnehmer := ParserTreeViewMB100.EntriesMB100[0].Teilnehmer;

    Daten.Bereich := ParserTreeViewMB100.EntriesMB100[0].Bereich;
  end;
  VST.AddChild(nil, Daten);

  if VST.RootNodeCount >= 4001 then
          begin
            VST.DeleteNode(VST.GetFirst);
          end;
  VST.EndUpdate;
  VST.ScrollIntoView(VST.GetLast, true);

  QryMB100.Close;
  DataMB256plus := '';
except

end;
end;
Danke schon mal Gruss


Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat