Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Etikettendruck auf Brother QL-1060N

  Alt 25. Jul 2015, 09:44
Aber bitte nicht das Exception-Handling so übernehmen, da kräuseln sich mir die Fussnägel.

So in der Art wäre das schon viel besser (und vor allem aussagekräftiger):
Delphi-Quellcode:
unit de.company.FooFramework;

interface

uses
  System.SysUtils;

type
  EFooException = class( Exception );
  EFooNoPrinterException = class( EFooException );
  EFooTemplateParseException = class( EFooException );

type
  TFoo = class
    /// <summary>
    /// Druckt ein Etikett auf einem Etiketten-Drucker aus
    /// </summary>
    /// <exception cref="EFooTemplateParseException">
    /// <see cref="EFooTemplateParseException">EFooTemplateParseException</see>
    /// Bei einem Parser-Fehler
    /// </exception>
    /// <exception cref="EFileNotFoundException">
    /// <see cref="EFileNotFoundException">EFileNotFoundException</see>
    /// Wenn die Vorlage nicht gefunden wurde
    /// </exception>
    procedure PrintLabel( );
  end;

implementation

{ TFoo }

procedure TFoo.PrintLabel;
var
  CurrentLabel: string;
begin

  if not FileExists( CurrentLabel ) then
    raise EFileNotFoundException.CreateFmt( 'Datei %s wurde nicht gefunden', [ CurrentLabel ] );

  try

    // Parsen der Datei

  except
    // Wir wrappen alle auftretenden Ausnahmen mit unserer Exception-Klasse
    raise EFooTemplateParseException.CreateFmt( 'Fehler beim Parsen der Datei %s', [ CurrentLabel ] );
  end;
end;

end.
Wichtig ist die Dokumentation, welche Exceptions auftreten können.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (25. Jul 2015 um 10:07 Uhr)
  Mit Zitat antworten Zitat