Tipps & Tricks: Wie man einen permanenten ASSERT direkt mit einem Kommentar versieht
Ich verwende gerne ASSERT’s in meinem Code.
Sie sind ein wirksames Mittel Zustände abzufragen und bereist in der Testphase unzulässige Konstellationen oder Funktionsaufrufe zu entdecken.
Nun gibt es ja auch if, else oder switch Blöcke an denen das Programm normalerweise nicht vorbei kommen sollte. So eine Stelle versieht man dann schon mal mit einem
_ASSERT( FALSE ); // oder wer die MFC benutzt eben ASSERT, // obwohl dies auch nur ein Synonym für den CRT _ASSERT makro ist ASSERT(FALSE);
Jetzt müsste man noch einen Kommentar davor setzen, damit klar wird was hier schief läuft. Man kann das Ganze aber auch einfach kombinieren und noch einen Zusatznutzen erreichen indem man den etwas unbekannteren Makro _ASSERTE verwendet:
_ASSERTE( !"MyFuncFooHandler: This is not allowed in my special Foo Handler" );
Die Negation macht aus dem Zeiger auf den konstanten String FALSE, und damit schlägt der ASSERT an.
Wenn man jetzt wie hier gezeigt noch den _ASSERTE Makro verwendet, dann wird diese Expression, also der Text, sofort mit anzeigt. Man sieht dann sofort was das Problem ist sobald der ASSERT Dialog angezeigt wird.
1 Kommentar zu “Tipps & Tricks: Wie man einen permanenten ASSERT direkt mit einem Kommentar versieht”
Link für diesen Beitrag | RSS-Feed zu diesem Beitrag
Hinterlassen sie einen Kommentar:
Beachten sie bitte, dass Kommentare evtl. nicht sofort hier erscheinen. Die Kommentare werden zur Moderation an den Webmaster gesendet. Es kann also etwas dauern, bis Ihr Kommentar hier veröffentlicht wird!
on Mo 08 Jun 2009 um 07:41 #
Torsten
keine schlechte idee… danke schön