blob: e49a69b7e8e6eff0b114702909f8baac95289c46 [file] [log] [blame]
<html lang="en">
<head>
<title>Error Reporting - The GNU C Library</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="The GNU C Library">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="prev" href="Introduction.html#Introduction" title="Introduction">
<link rel="next" href="Memory.html#Memory" title="Memory">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU C library.
This is Edition 0.12, last updated 2007-10-27,
of `The GNU C Library Reference Manual', for version
2.8 (Sourcery G++ Lite 2011.03-41).
Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
2003, 2007, 2008, 2010 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software Needs Free Documentation''
and ``GNU Lesser General Public License'', the Front-Cover texts being
``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A
copy of the license is included in the section entitled "GNU Free
Documentation License".
(a) The FSF's Back-Cover Text is: ``You have the freedom to
copy and modify this GNU manual. Buying copies from the FSF
supports it in developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Error-Reporting"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Memory.html#Memory">Memory</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Introduction.html#Introduction">Introduction</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
<hr>
</div>
<h2 class="chapter">2 Error Reporting</h2>
<!-- %MENU% How library functions report errors -->
<p><a name="index-error-reporting-54"></a><a name="index-reporting-errors-55"></a><a name="index-error-codes-56"></a><a name="index-status-codes-57"></a>
Many functions in the GNU C library detect and report error conditions,
and sometimes your programs need to check for these error conditions.
For example, when you open an input file, you should verify that the
file was actually opened correctly, and print an error message or take
other appropriate action if the call to the library function failed.
<p>This chapter describes how the error reporting facility works. Your
program should include the header file <samp><span class="file">errno.h</span></samp> to use this
facility.
<a name="index-errno_002eh-58"></a>
<ul class="menu">
<li><a accesskey="1" href="Checking-for-Errors.html#Checking-for-Errors">Checking for Errors</a>: How errors are reported by library functions.
<li><a accesskey="2" href="Error-Codes.html#Error-Codes">Error Codes</a>: Error code macros; all of these expand
into integer constant values.
<li><a accesskey="3" href="Error-Messages.html#Error-Messages">Error Messages</a>: Mapping error codes onto error messages.
</ul>
</body></html>