Hej Alle.
Nu har jeg et nyt problem
Jeg har defineret nogle fejl-konstanter i mit server-program, der ser sådan
ud:
#define LEXER_FEJL 100
#define ULOVLIGT_TEGN 1
#define PARSER_FEJL 200
#define UKENDT_KOMMANDO 1
#define EN_ANDEN_FEJL 2
Hvis lexeren møder et ulovligt tegn bliver fejlnummeret LEXER_FEJL +
ULOVLIGT_TEGN = 101
I mit klient-program bruger jeg også fejlnumrene, men vil gerne tilføje en
fejlbeskrivelse så brugeren ikke skal slå op i en manual. Fx.
#define LEXER_FEJL_TEKST "Lexikalsk fejl"
#define ULOVLIGT_TEGN_TEKST "det er forbudt at skrive: "
osv...
På nuværende tidspunkt er den eneste løsning jeg kan se noget i stil med:
std::string fejlbeskrivelse( int fejlnr ) {
string besked;
if ( fejlnr > 200 ) {
besked = PARSER_FEJL_TEKST;
fejlnr -= 200;
switch ( fejlnr ) {
case ULOVLIGT_TEGN : besked += ULOVLIGT_TEGN_TEKST
// osv...
}
}
if ( fejlnr > 100 ) {
// ja, I kan jo gætte resten.
-----
Er der ikke en nemmere løsning i stil med:
#define FEJL_BESKED[ LEXER_FEJL + ULOVLIGT_TEGN ] "bla bla."
Så jeg har en direkte adgang til beskrivelserne ligesom i et array?
En løsning hvor beskrivelserne ligger i en fil er ikke gangbar.
mvh. jesper