Fehlerbehandlung: errno

Willemers Informatik-Ecke

Die globale Variable errno

Die meisten Systemaufrufe liefern einen Rückgabewert kleiner 0, wenn etwas schief gelaufen ist. Ist der Rückgabewert nicht aussagekräftig genug, so steht die globale Variable errno zur Verfügung. Hier findet sich der Grund für das Fehlschlagen. Die Konstanten, die errno annehmen kann, stehen durch Verwenden der Headerdatei errno.h für Vergleiche zur Verfügung.

Fehlerausgabe mit perror

Die Funktion perror() gibt die Standardfehlermeldungen des Betriebssystems auf stderr aus. Die Anwendung kann perror() im Parameter einen Text mitgeben, der erläutert, was das Programm gerade tut. Dieser Text wird der Systemmeldung vorangestellt.

#include <stdio.h>

void perror(const char *s);

Da es beispielsweise bei X-Anwendungen sich gut macht, wenn die Fehlermeldung nicht auf stderr, sondern beispielsweise in einer Dialogbox erscheint, verwendet man dort statt perror() die Funktion strerror(errno). Sie liefert den Meldungstext passend zur Fehlermeldung der Anwendung, die das Programm dann an beliebiger Stelle darstellen kann.

#include <string.h>

char *strerror(int errnum);

Diese Seite basiert auf Inhalten aus dem Buch Arnold Willemer: Wie werde ich UNIX-Guru
Verlagsrechte bei galileo computing


Homepage (C) Copyright 2002 Arnold Willemer