Scroll to navigation

ASSERT_PERROR(3) Linux-Programmierhandbuch ASSERT_PERROR(3)

BEZEICHNUNG

assert_perror - Fehlernummer prüfen und abbrechen

ÜBERSICHT

#define _GNU_SOURCE         /* Siehe feature_test_macros(7) */
#include <assert.h>
void assert_perror(int fehlernum);

BESCHREIBUNG

Falls das Makro NDEBUG zum Zeitpunkt des letzmaligen Einbindens von <assert.h> definiert war, dann erstellt das Makro assert_perror() keinen Code und macht somit überhaupt nichts. Andernfalls gibt das Makro assert_perror() eine Fehlermeldung auf der Standardfehlerausgabe aus und beendet das Programm durch Aufruf von abort(3), falls fehlernum von Null verschieden ist. Die Meldung enthält den Dateinamen, den Funktionsnamen und die Zeilennummer des Makroaufrufs, und die Ausgabe von strerror(fehlernum).

RÜCKGABEWERT

Es wird kein Wert zurückgegeben.

ATTRIBUTE

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

Schnittstelle Attribut Wert
assert_perror() Multithread-Fähigkeit MT-Safe

KONFORM ZU

Dies ist eine GNU-Erweiterung.

FEHLER

Die Assert-Makros sind dafür gedacht, Programmierern beim Finden von Fehlern in ihren Programmen zu helfen, Dinge, die nicht passieren könnten, außer es liegt ein Programmierfehler vor. Allerdings ist bei System- oder Bibliotheksaufrufen die Situation ganz anders und Fehler können und werden vorkommen (und diese zurückgeliefert werden) und darauf sollte getestet werden. Allerdings nicht durch einen Assert, bei dem der Test verschwindet, wenn NDEBUG definiert wird, sondern durch ordentlichen Code zum Umgang mit Fehlern. Verwenden Sie dieses Makro nie.

SIEHE AUCH

abort(3), assert(3), exit(3), strerror(3)

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 5.10 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können, sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.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 die Mailingliste der Übersetzer.

15. September 2017 GNU