.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1994 Michael Haardt (michael@moria.de), 1994-06-04 .\" Copyright (c) 1995 Michael Haardt .\" (michael@cantor.informatik.rwth-aachen.de), 1995-03-16 .\" Copyright (c) 1996 Andries Brouwer (aeb@cwi.nl), 1996-01-13 .\" .\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual; if not, see .\" . .\" %%%LICENSE_END .\" .\" 1996-01-13 aeb: merged in some text contributed by Melvin Smith .\" (msmith@falcon.mercer.peachnet.edu) and various other changes. .\" Modified 1996-05-16 by Martin Schulze (joey@infodrom.north.de) .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH PERROR 3 "15. März 2016" "" Linux\-Programmierhandbuch .SH BEZEICHNUNG perror \- eine Systemfehlermeldung ausgeben .SH ÜBERSICHT \fB#include \fP .sp \fBvoid perror(const char *\fP\fIs\fP\fB);\fP .sp \fB#include \fP .sp \fBconst char * const \fP\fIsys_errlist\fP\fB[];\fP .br \fBint \fP\fIsys_nerr\fP\fB;\fP .br \fBint \fP\fIerrno\fP\fB; \fP/* Nicht wirklich auf diese Weise deklariert; siehe errno(3). */ .sp .in -4n Mit Glibc erforderliche Makros (siehe \fBfeature_test_macros\fP(7)): .in .sp \fIsys_errlist\fP, \fIsys_nerr\fP: Seit Glibc 2.19: _DEFAULT_SOURCE Glibc 2.19 und älter: _BSD_SOURCE .SH BESCHREIBUNG Die Funktion \fBperror\fP() schreibt eine Meldung auf die Standardfehlerausgabe, die den zuletzt aufgetretenen Fehler beschreibt, der während eines Aufrufs einer System\- oder Bibliotheksfunktion aufgetreten ist. Zuerst wird (falls \fIs\fP nicht NULL und \fI*s\fP kein Null\-Byte (\(aq\e0\(aq) ist) der Argumentstring \fIs\fP, danach ein Doppelpunkt, ein Leerzeichen und dann die eine Fehlermeldung, die dem aktuellen Wert von \fIerrno\fP entspricht, gefolgt von einem Zeilenvorschub ausgegeben. Um am nützlichsten zu sein, sollte die Argumentenzeichenkette den Namen der Funktion enthalten, die den Fehler auslöste. Die globale Fehlerliste \fIsys_errlist\fP[], die mit \fIerrno\fP indiziert werden kann, kann verwandt werden, um die Fehlermeldungen ohne den Zeilenumbruch zu erhalten. Der größte gültige Index für \fIsys_errlist\fP[] ist \fIsys_nerr\fP\-1. Vorsicht ist geboten, wenn direkt auf diese Liste zugegriffen wird, denn neue Fehlerwerte sind eventuell noch nicht hinzugefügt worden. Die Verwendung von \fIsys_errlist\fP[] ist heutzutage missbilligt, verwenden Sie stattdessen \fBstrerror\fP(3). Wenn ein Systemaufruf fehlschlägt, gibt er normalerweise \-1 zurück und setzt die Variable \fIerrno\fP auf einen Wert, der beschreibt, was falsch lief. (Diese Werte können in \fI\fP gefunden werden.) Viele Bibliotheksfunktionen verhalten sich genauso. Die Funktion \fBperror\fP() übersetzt diesen Fehlercode in eine für Menschen lesbare Form. Beachten Sie, dass \fIerrno\fP nach erfolgreichem System\- oder Bibliotheksfunktionsaufruf undefiniert ist: Dieser Aufruf kann die Variable aber sehr wohl ändern, auch wenn er erfolgreich ist – zum Beispiel, wenn er intern weitere Bibliotheksfunktionen verwendet, die fehlschlagen. Daher sollte der Wert von \fIerrno\fP gespeichert werden, wenn auf den fehlgeschlagenen Aufruf nicht sofort ein Aufruf von \fBperror\fP() folgt. .SH ATTRIBUTE Siehe \fBattributes\fP(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke. .TS allbox; lb lb lb l l l. Schnittstelle Attribut Wert T{ \fBperror\fP() T} Multithread\-Fähigkeit MT\-Safe race:stderr .TE .SH "KONFORM ZU" \fBperror\fP(), \fIerrno\fP: POSIX.1\-2001, POSIX.1\-2008, C89, C99, 4.3BSD. Die externen \fIsys_nerr\fP und \fIsys_errlist\fP leiten sich aus BSD ab, werden aber nicht in POSIX.1 spezifiziert. .SH ANMERKUNGEN .\" and only when _BSD_SOURCE is defined. .\" When .\" .B _GNU_SOURCE .\" is defined, the symbols .\" .I _sys_nerr .\" and .\" .I _sys_errlist .\" are provided. Die externen \fIsys_nerr\fP und \fIsys_errlist\fP sind durch Glibc definiert, befinden sich aber in \fI\fP. .SH "SIEHE AUCH" \fBerr\fP(3), \fBerrno\fP(3), \fBerror\fP(3), \fBstrerror\fP(3) .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 4.09 des Projekts Linux\-\fIman\-pages\fP. 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/. .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother , Martin Schulze , Chris Leick und Mario Blättermann 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 .