1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml"> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6 <title>Error Returns</title> 7 <link rel="stylesheet" href="gettingStarted.css" type="text/css" /> 8 <meta name="generator" content="DocBook XSL Stylesheets V1.62.4" /> 9 <link rel="home" href="index.html" title="Getting Started with Berkeley DB" /> 10 <link rel="up" href="introduction.html" title="Chapter��1.��Introduction to Berkeley DB " /> 11 <link rel="previous" href="environments.html" title="Environments" /> 12 <link rel="next" href="gettingit.html" title="Getting and Using DB " /> 13 </head> 14 <body> 15 <div class="navheader"> 16 <table width="100%" summary="Navigation header"> 17 <tr> 18 <th colspan="3" align="center">Error Returns</th> 19 </tr> 20 <tr> 21 <td width="20%" align="left"><a accesskey="p" href="environments.html">Prev</a>��</td> 22 <th width="60%" align="center">Chapter��1.��Introduction to Berkeley DB </th> 23 <td width="20%" align="right">��<a accesskey="n" href="gettingit.html">Next</a></td> 24 </tr> 25 </table> 26 <hr /> 27 </div> 28 <div class="sect1" lang="en" xml:lang="en"> 29 <div class="titlepage"> 30 <div> 31 <div> 32 <h2 class="title" style="clear: both"><a id="returns"></a>Error Returns</h2> 33 </div> 34 </div> 35 <div></div> 36 </div> 37 <p> 38 Before continuing, it is useful to spend a few moments on error returns 39 in DB. 40 </p> 41 <p> 42 43 <span>The</span> 44 DB interfaces always return a value of 0 on success. If the 45 operation does not succeed for any reason, the return value will be 46 non-zero. 47 </p> 48 <p> 49 If a system error occurred (for example, DB ran out of disk 50 space, or permission to access a file was denied, or an illegal argument 51 was specified to one of the interfaces), DB returns an 52 <tt class="literal">errno</tt> 53 value. All of the possible values of <tt class="literal">errno</tt> are greater than 0. 54 </p> 55 <p> 56 If the operation did not fail due to a system error, but was not 57 successful either, DB returns a special error value. For 58 example, if you tried to retrieve data from the database and the 59 record for which you are searching does not exist, DB would return 60 <tt class="literal">DB_NOTFOUND</tt>, a special error value that means the requested 61 key does not appear in the database. All of the possible special error 62 values are less than 0. 63 </p> 64 <p> 65 DB also offers programmatic support for displaying error return 66 values. First, the <tt class="function">db_strerror</tt> function returns 67 a pointer to the error 68 message corresponding to any DB error return, similar to the 69 ANSI C <tt class="function">strerror</tt> function, but is able to handle 70 both system error returns and DB-specific return values. 71 </p> 72 <p> 73 Second, there are two error functions, 74 <tt class="methodname">DB->err</tt> and <tt class="methodname">DB->errx</tt>. 75 These functions work like the ANSI C <tt class="function">printf</tt> function, 76 taking a printf-style format string and argument list, and optionally 77 appending the standard error string to a message constructed from 78 the format string and other arguments. 79 </p> 80 </div> 81 <div class="navfooter"> 82 <hr /> 83 <table width="100%" summary="Navigation footer"> 84 <tr> 85 <td width="40%" align="left"><a accesskey="p" href="environments.html">Prev</a>��</td> 86 <td width="20%" align="center"> 87 <a accesskey="u" href="introduction.html">Up</a> 88 </td> 89 <td width="40%" align="right">��<a accesskey="n" href="gettingit.html">Next</a></td> 90 </tr> 91 <tr> 92 <td width="40%" align="left" valign="top">Environments��</td> 93 <td width="20%" align="center"> 94 <a accesskey="h" href="index.html">Home</a> 95 </td> 96 <td width="40%" align="right" valign="top">��Getting and Using DB </td> 97 </tr> 98 </table> 99 </div> 100 </body> 101</html> 102