AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Normale Exceptions nicht anzueigen

Offene Frage von "shmia"
Ein Thema von FAlter · begonnen am 3. Sep 2007 · letzter Beitrag vom 7. Sep 2007
 
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Normale Exceptions nicht anzueigen

  Alt 3. Sep 2007, 17:35
Bei einem Seriendruck können ja auch Exceptions auftreten.
Der Benutzer kann auswählen was er tun möchte.
1.) Fehler ignorieren, auf Nachfrage abbrechen
2.) Fehleretikett drucken
3.) sofort abbrechen
Ausserdem werden alle Exceptions in einem Memo protokolliert.
Delphi-Quellcode:
procedure TSerienDruckForm.HandleException(E: Exception);
begin
   AddError(E.Message); // Memo1.lines.Add(...)

   case RgpErrorAction.ItemIndex of
      0: // Druckauftrag ignorieren
      begin
         if MessageDlg(E.Message + #13#10 + 'Seriendruck abbrechen ?', mtError, [mbYes, mbNo], 0) = mrYes then
            Abort;
      end;
      1: // Fehleretikett
      begin
         DMPrtFehlerEtikett.PrintFehlerEtikett(E);
      end;
      2: // Seriendruck abbrechen, Exception erneut auslösen
      begin
         // "raise E" will nicht, daher neue Exception erzeugen.
         raise Exception.Create(E.Message);
      end;
      else
      begin
         Assert(False);
      end;
   end;
end;
Die Fehlerbehandlung sieht dann so aus:
Delphi-Quellcode:
 try
   EinzelauftragAbarbeiten;
 except
   on E: Exception do
   begin
    // Auftrag als fehlerhaft markieren
    .....

    HandleException(E);
 end;
Andreas
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:40 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