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>Chapter 29. Dbstl Exception Classes</title> 7 <link rel="stylesheet" href="apiReference.css" type="text/css" /> 8 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /> 9 <link rel="start" href="index.html" title="Berkeley DB C++ Standard Template Library API Reference" /> 10 <link rel="up" href="index.html" title="Berkeley DB C++ Standard Template Library API Reference" /> 11 <link rel="prev" href="stlReadModifyWriteOptionno_read_modify_write.html" title="no_read_modify_write" /> 12 <link rel="next" href="DbstlException.html" title="Chapter 30. DbstlException" /> 13 </head> 14 <body> 15 <div class="navheader"> 16 <table width="100%" summary="Navigation header"> 17 <tr> 18 <th colspan="3" align="center">Chapter 29. 19 Dbstl Exception Classes </th> 20 </tr> 21 <tr> 22 <td width="20%" align="left"><a accesskey="p" href="stlReadModifyWriteOptionno_read_modify_write.html">Prev</a> </td> 23 <th width="60%" align="center"> </th> 24 <td width="20%" align="right"> <a accesskey="n" href="DbstlException.html">Next</a></td> 25 </tr> 26 </table> 27 <hr /> 28 </div> 29 <div class="chapter" lang="en" xml:lang="en"> 30 <div class="titlepage"> 31 <div> 32 <div> 33 <h2 class="title"><a id="Exception_classes_group"></a>Chapter 29. 34 Dbstl Exception Classes </h2> 35 </div> 36 </div> 37 </div> 38 <p>dbstl throws several types of exceptions on several kinds of errors, the exception classes form a class hiarachy. </p> 39 <p>First, there is the <a class="link" href="DbstlException.html" title="Chapter 30. DbstlException">DbstlException</a> 40, which is the base class for all types of dbstl specific concrete exception classes. <a class="link" href="DbstlException.html" title="Chapter 30. DbstlException">DbstlException</a> 41 inherits from the class DbException of Berkeley DB C++ API. Since DbException class inherits from C++ STL exception base class std::exception, you can make use of all Berkeley DB C++ and dbstl API exceptions in the same way you use the C++ std::exception class.</p> 42 <p>Besides exceptions of <a class="link" href="DbstlException.html" title="Chapter 30. DbstlException">DbstlException</a> 43 and its subclasses, dbstl may also throw exceptions of DbException and its subclasses, which happens when a Berkeley DB call failed. So you should use the same way you catch Berkeley DB C++ API exceptions when you want to catch exceptions throw by Berkeley DB operations.</p> 44 <p>When an exception occurs, dbstl initialize an local exception object on the stack and throws the exception object, so you should catch an exception like this:</p> 45 <p>try { dbstl operations } catch(DbstlException ex){ Exception handling throw ex; // Optionally throw ex again } </p> 46 <h4><a id="id1574278"></a> Public Members </h4> 47 <div class="informaltable"> 48 <table border="1" width="80%"> 49 <colgroup> 50 <col /> 51 <col /> 52 </colgroup> 53 <thead> 54 <tr> 55 <th>Member</th> 56 <th>Description</th> 57 </tr> 58 </thead> 59 <tbody> 60 <tr> 61 <td> 62<a class="link" href="DbstlException.html" title="Chapter 30. DbstlException"> 63DbstlException</a> 64</td> 65 <td> 66DbstlException</td> 67 </tr> 68 <tr> 69 <td> 70<a class="link" href="NotEnoughMemoryException.html" title="Chapter 35. NotEnoughMemoryException"> 71NotEnoughMemoryException</a> 72</td> 73 <td> 74NotEnoughMemoryException</td> 75 </tr> 76 <tr> 77 <td> 78<a class="link" href="InvalidIteratorException.html" title="Chapter 37. InvalidIteratorException"> 79InvalidIteratorException</a> 80</td> 81 <td> 82InvalidIteratorException</td> 83 </tr> 84 <tr> 85 <td> 86<a class="link" href="InvalidCursorException.html" title="Chapter 33. InvalidCursorException"> 87InvalidCursorException</a> 88</td> 89 <td> 90InvalidCursorException</td> 91 </tr> 92 <tr> 93 <td> 94<a class="link" href="InvalidDbtException.html" title="Chapter 31. InvalidDbtException"> 95InvalidDbtException</a> 96</td> 97 <td> 98InvalidDbtException</td> 99 </tr> 100 <tr> 101 <td> 102<a class="link" href="FailedAssertionException.html" title="Chapter 32. FailedAssertionException"> 103FailedAssertionException</a> 104</td> 105 <td> 106FailedAssertionException</td> 107 </tr> 108 <tr> 109 <td> 110<a class="link" href="NoSuchKeyException.html" title="Chapter 34. NoSuchKeyException"> 111NoSuchKeyException</a> 112</td> 113 <td> 114NoSuchKeyException</td> 115 </tr> 116 <tr> 117 <td> 118<a class="link" href="InvalidArgumentException.html" title="Chapter 39. InvalidArgumentException"> 119InvalidArgumentException</a> 120</td> 121 <td> 122InvalidArgumentException</td> 123 </tr> 124 <tr> 125 <td> 126<a class="link" href="NotSupportedException.html" title="Chapter 36. NotSupportedException"> 127NotSupportedException</a> 128</td> 129 <td> 130NotSupportedException</td> 131 </tr> 132 <tr> 133 <td> 134<a class="link" href="InvalidFunctionCall.html" title="Chapter 38. InvalidFunctionCall"> 135InvalidFunctionCall</a> 136</td> 137 <td> 138InvalidFunctionCall</td> 139 </tr> 140 </tbody> 141 </table> 142 </div> 143 <h4><a id="id1574658"></a> 144Group</h4> 145 <p> 146None</p> 147 </div> 148 <div class="navfooter"> 149 <hr /> 150 <table width="100%" summary="Navigation footer"> 151 <tr> 152 <td width="40%" align="left"><a accesskey="p" href="stlReadModifyWriteOptionno_read_modify_write.html">Prev</a> </td> 153 <td width="20%" align="center"> </td> 154 <td width="40%" align="right"> <a accesskey="n" href="DbstlException.html">Next</a></td> 155 </tr> 156 <tr> 157 <td width="40%" align="left" valign="top"> 158no_read_modify_write 159 </td> 160 <td width="20%" align="center"> 161 <a accesskey="h" href="index.html">Home</a> 162 </td> 163 <td width="40%" align="right" valign="top"> Chapter 30. 164 DbstlException </td> 165 </tr> 166 </table> 167 </div> 168 </body> 169</html> 170