BEZEICHNUNG¶
assert - Bricht das Programm ab, wenn der Prüfausdruck falsch ergibt.
ÜBERSICHT¶
#include <assert.h>
void assert(scalar expression);
BESCHREIBUNG¶
Ist das Makro
NDEBUG definiert, wenn das letzte Include für
<assert.h> erfolgt, erzeugt das Makro
assert() keinen Code
und bewirkt gar nichts. Anderenfalls wird
assert() das Programm
abbrechen, wenn die Auswertung von
expression falsch ergibt, also das
Ergebnis gleich Null ist.
assert() gibt dann eine Meldung auf der
Standardfehlerausgabe aus und ruft
abort(3) auf, um das Programm
abzubrechen.
Dieses Makro hat den Zweck, dem Programmierer bei der Fehlersuche im Programm zu
helfen. Die Meldung »assertion failed in file foo.c, function do_bar(),
line 1287« hilft dem Anwender nicht weiter.
RÜCKGABEWERT¶
Es wird kein Wert zurückgegeben.
POSIX.1-2001, C89, C99. In C89 muss
expression ein
int sein, sonst
ist das Verhalten nicht definiert. In C99 darf
expression jeden
skalaren Typ annehmen.
FEHLER¶
assert() ist ein Makro. Wenn der geprüften Ausdruck Seiteneffekte
hat, ändert sich das Verhalten des Programms abhängig davon, ob
NDEBUG definiert ist oder nicht. Dies kann sporadische Fehler
verursachen, die bei aktivierter Debug-Option nicht auftreten.
SIEHE AUCH¶
abort(3),
assert_perror(3),
exit(3)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux-
man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler
gemeldet werden können, finden sich unter
http://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Ralf Demmer
<rdemmer@rdemmer.de> und Martin Eberhard Schauer
<Martin.E.Schauer@gmx.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public
License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird
KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.