| [12] | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> | 
|---|
 | 2 | <html> | 
|---|
 | 3 |         <head> | 
|---|
 | 4 |                 <title>Boost: throw_exception.hpp documentation</title> | 
|---|
 | 5 |                 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | 
|---|
 | 6 |         </head> | 
|---|
 | 7 |         <body bgcolor="white" style="MARGIN-LEFT: 5%; MARGIN-RIGHT: 5%"> | 
|---|
 | 8 |                 <table border="0" width="100%"> | 
|---|
 | 9 |                         <tr> | 
|---|
 | 10 |                                 <td width="277"> | 
|---|
 | 11 |                                         <img src="../../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"> | 
|---|
 | 12 |                                 </td> | 
|---|
 | 13 |                                 <td align="middle"> | 
|---|
 | 14 |                                         <h1>throw_exception.hpp</h1> | 
|---|
 | 15 |                                 </td> | 
|---|
 | 16 |                         </tr> | 
|---|
 | 17 |                         <tr> | 
|---|
 | 18 |                                 <td colspan="2" height="64"> </td> | 
|---|
 | 19 |                         </tr> | 
|---|
 | 20 |                 </table> | 
|---|
 | 21 |                 <p> | 
|---|
 | 22 |                         The header <STRONG><boost/throw_exception.hpp></STRONG> defines the  | 
|---|
 | 23 |                         helper function <STRONG>boost::throw_exception</STRONG>. It is intended to be  | 
|---|
 | 24 |                         used in Boost libraries that need to throw exceptions, but support  | 
|---|
 | 25 |                         configurations and platforms where exceptions aren't available, as indicated by  | 
|---|
 | 26 |                         the presence of the <STRONG>BOOST_NO_EXCEPTIONS</STRONG> <A href="../config/config.htm#macro_ref"> | 
|---|
 | 27 |                                 configuration macro</A>. | 
|---|
 | 28 |                 </p> | 
|---|
 | 29 |                 <P>When <STRONG>BOOST_NO_EXCEPTIONS</STRONG> is not defined, <tt>boost::throw_exception(e)</tt> | 
|---|
 | 30 |                         is equivalent to <tt>throw e</tt>. Otherwise, the function is left undefined,  | 
|---|
 | 31 |                         and the user is expected to supply an appropriate definition. Callers of <tt>throw_exception</tt> | 
|---|
 | 32 |                         are allowed to assume that the function never returns; therefore, if the  | 
|---|
 | 33 |                         user-defined <tt>throw_exception</tt> returns, the behavior is undefined.</P> | 
|---|
 | 34 |                 <h3><a name="Synopsis">Synopsis</a></h3> | 
|---|
 | 35 |                 <pre> | 
|---|
 | 36 | namespace boost | 
|---|
 | 37 | { | 
|---|
 | 38 |  | 
|---|
 | 39 | #ifdef BOOST_NO_EXCEPTIONS | 
|---|
 | 40 |  | 
|---|
 | 41 | void throw_exception(std::exception const & e); // user defined | 
|---|
 | 42 |  | 
|---|
 | 43 | #else | 
|---|
 | 44 |  | 
|---|
 | 45 | template<class E> void throw_exception(E const & e) | 
|---|
 | 46 | { | 
|---|
 | 47 |     throw e; | 
|---|
 | 48 | } | 
|---|
 | 49 |  | 
|---|
 | 50 | #endif | 
|---|
 | 51 |  | 
|---|
 | 52 | } | 
|---|
 | 53 | </pre> | 
|---|
 | 54 |                 <p><br> | 
|---|
 | 55 |                         <small>Copyright © 2002 by Peter Dimov. Permission to copy, use, modify, sell and  | 
|---|
 | 56 |                                 distribute this document is granted provided this copyright notice appears in  | 
|---|
 | 57 |                                 all copies. This document is provided "as is" without express or implied  | 
|---|
 | 58 |                                 warranty, and with no claim as to its suitability for any purpose.</small></p> | 
|---|
 | 59 |         </body> | 
|---|
 | 60 | </html> | 
|---|