Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Eigene Fehlercodes / Fehlermeldungen erstellen/verwalten (https://www.delphipraxis.net/148057-eigene-fehlercodes-fehlermeldungen-erstellen-verwalten.html)

TheMiller 21. Feb 2010 16:30


Eigene Fehlercodes / Fehlermeldungen erstellen/verwalten
 
Hallo,

ich habe ein größeres Projekt mit mehreren Plugins. All diese Projekte nutzen gemeinsam mehrere eigene Units, die spezielle Objekte bereit stellen.

Nun habe ich Fehlercodes für mich entdeckt ;)

Ich habe also mit eine Liste mit Konstanten gemacht, die einen FehlerCodeNamen und einen Integer-Wert zurückliefern. Dazu möchte ich jetzt im Fehlerfall auch noch eine User-freundliche Fehlermeldung zurückgeben. Und genau das ist mein Problem!

Meine Konstante sieht so aus:

Delphi-Quellcode:
  ERR_NO_CONFIG_FILE   = 1;
  ERR_EMPTY_CONFIG_FILE = 2;
  ...
  ...
So, jetzt müsste ich ja quasi nochmal diese Konstanten mit einer Fehlermeldung erstellen. Ungefähr so

Delphi-Quellcode:
  1 = "Es wurde keine Konfigurationsdatei gefunden."
  ....
Das ist doch Mist.. :( Wie kann ich nun schöne Fehlercodes von meinen Funktionen zurückgeben lassen und dazu passende Meldungen ausgeben lassen? Und eins noch: Am liebsten wäre es mir, eine komplett eigene Unit für diese Codes anzulegen - ist denk ich sauberer. Was meint ihr?

Danke im Voruas!

thkerkmann 21. Feb 2010 16:34

Re: Eigene Fehlercodes / Fehlermeldungen erstellen/verwalten
 
Hi,

schreib eine Funktion:
Delphi-Quellcode:
function ErrorMessage(errorcode:integer):string;
begin
  case errorcode of
    ERR_NO_CONFIG_FILE   : result := 'Keine Konfigurationsdatei vorhanden';
    ERR_EMPTY_CONFIG_FILE : result := 'Nix drin in der Konfigurationsdatei';
  ...
  end;
end;
und die tust du in deine Unit mit den Konstanten - fertig.

Gruss

TheMiller 21. Feb 2010 16:58

Re: Eigene Fehlercodes / Fehlermeldungen erstellen/verwalten
 
Das hab ich mir auch schon gedacht, aber dann muss ich ja quasi die ErrorCodes doppelt schreiben. Ich meine, die Idee ist schon ok, aber was komfortableres gibt es nicht, oder?

Sir Rufo 21. Feb 2010 16:59

Re: Eigene Fehlercodes / Fehlermeldungen erstellen/verwalten
 
Doch, lass es einen anderen schreiben :mrgreen:

DeddyH 21. Feb 2010 17:03

Re: Eigene Fehlercodes / Fehlermeldungen erstellen/verwalten
 
Andere Idee:
Delphi-Quellcode:
type
  TMyError = (meNoError, meWasWeissIch, meAuBacke, meAllesKaputt);

const MyErrorCodes: array[TMyError] of string = (
                    'Alles paletti',
                    'Kein Plan',
                    'Hachja',
                    'Hier geht nun gar nix mehr');

TheMiller 21. Feb 2010 17:08

Re: Eigene Fehlercodes / Fehlermeldungen erstellen/verwalten
 
Das gefällt mir irgendwie ;)

Nur ich denke, ich werde über 200 verschiedene Error-Codes haben. Ist diese Lösung dafür auch ok?

DeddyH 21. Feb 2010 17:16

Re: Eigene Fehlercodes / Fehlermeldungen erstellen/verwalten
 
Wieso denn nicht? Zumindest ist so sichergestellt, dass jeder Fehler auch einen Eintrag im Array hat, sonst wird das ja gar nicht kompiliert.

TheMiller 21. Feb 2010 17:23

Re: Eigene Fehlercodes / Fehlermeldungen erstellen/verwalten
 
Hm ja stimmt... Zur Übersicht kann man ja bereichsbezogene ErrorTypen- und Arrays erstellen... also so:

Delphi-Quellcode:
type
  TConfigError = (ecNoFile, ecEmptyFile);
  TDBError = (ecNoDb, ecNoConnection, ecWrongLogin);

const ConfigErrorCodes: array[TConfigError ] of string = (
                    'Keine Datei angegeben',
                    'Datei leer');

const DbErrorCodes: array[TDBError] of string = (
                    'Keine DB angegeben',
                    'Keine Connection',
                    'Falscher Login');
Das ist doch so ok, oder?

DeddyH 21. Feb 2010 17:27

Re: Eigene Fehlercodes / Fehlermeldungen erstellen/verwalten
 
Sicher, solange Du das bei der Anwendung nicht verwechselst.

TheMiller 21. Feb 2010 17:31

Re: Eigene Fehlercodes / Fehlermeldungen erstellen/verwalten
 
Was sollte ich da verwechseln? :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:23 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz