Autor Thema: LNSTATUS (C++ API)  (Gelesen 1891 mal)

Offline inu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 594
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
LNSTATUS (C++ API)
« am: 18.09.06 - 07:15:31 »
Hallo Leute,

sollten beim Aufruf der C++API-Funktionen Fehler auftreten, kann man diese dem Rückgabewert LNSTATUS entnehmen. Nun möchte ich aber auf einen bestimmten Fehler prüfen.

Wo um alles in der Welt finde ich die Konstanten, die sich hinter LNSTATUS verbergen?

Vielen Dank

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: LNSTATUS (C++ API)
« Antwort #1 am: 18.09.06 - 07:23:16 »
grundsätzlich legst du doch selber fest, welche Werte eine Funktion im Fehlerfall zurückgibt

return ( 3100 );

Einzige Konstante, die mit da bekannt ist ist LNNOERROR und die ist 0. Alle Werte > 0 sind Warnmeldungen oder Fehler.

Edit:

Du kannst dir die Meldungen zu den Rückgabewerten auch mittels

LNGetErrorMessage( error, errorBuf);
cout << "Error: " << errorBuf << endl;

ausgeben lassen. Macht bei Systemaufrufen Sinn. Wie gesagt, bei eigenen Funktionen legst du das ja selber fest.
« Letzte Änderung: 18.09.06 - 07:26:40 von eknori »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline inu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 594
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: LNSTATUS (C++ API)
« Antwort #2 am: 18.09.06 - 07:27:58 »
@eknori:

z.B. liefert mir die Funktion "session.CreateMessageQueue( buffer, &mqueue);" den Wert 1121 zurück, wenn ich versuche, mittels "LOAD <servertask>" einen selbstgeschriebenen Task ein zweites Mal zu laden. Dahinter verbirgt sich der eigentliche Fehler "message queue name already in use". Nun möchte ich aber auf den Fehler "1121" prüfen und ungern diese Zahl verwenden...


      

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: LNSTATUS (C++ API)
« Antwort #3 am: 18.09.06 - 07:35:56 »
Zitat
und ungern diese Zahl verwenden

Mag jetzt am Montagmorgen liegen, aber warum das denn? Dafür sind die Dinger doch da ...

ThrowAllExceptions

try {
...
}
   catch (LNSTATUS lnerror)
   
   {
   char ErrorBuf[ERR_BUF_SIZE];
   LNGetErrorMessage(lnerror, ErrorBuf, ERR_BUF_SIZE);
   std::cout << "Error: " << ErrorBuf << endl;
   }

   catch (...)
   {
      nRetCode = 1;
   }
   
   return nRetCode;
}
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline inu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 594
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: LNSTATUS (C++ API)
« Antwort #4 am: 18.09.06 - 07:38:15 »
@eknori: das ist ja richtig. Ich möchte alle Fehler zu einer einzigen DEUTSCHEN Ausschrift zusammenfassen. Bei dem Fehler 1121 jedoch soll es eine gesonderte Ausschrift geben.

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: LNSTATUS (C++ API)
« Antwort #5 am: 18.09.06 - 07:43:04 »
}
   catch ( 1121 )
   
   {
     std::cout << "11. Gebot: Du sollst kein addin mehrfach starten! ( Na ja, nicht alle, aber zumindest  ein paar )"  << endl;
   }
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz