forked from boostorg/exception
documentation update
[SVN r52100]
This commit is contained in:
@ -61,9 +61,9 @@ read_file( FILE * f, char const * name )
|
|||||||
<h3>Exception wrapping</h3>
|
<h3>Exception wrapping</h3>
|
||||||
<p>The idea of exception wrapping is to catch an exception from a lower level function (such as the read_file function above), and throw a new exception object that contains the original exception (and also carries a file name.) This method seems to be particularly popular with C++ programmers with Java background.</p>
|
<p>The idea of exception wrapping is to catch an exception from a lower level function (such as the read_file function above), and throw a new exception object that contains the original exception (and also carries a file name.) This method seems to be particularly popular with C++ programmers with Java background.</p>
|
||||||
<p>Exception wrapping leads to the following problems:</p>
|
<p>Exception wrapping leads to the following problems:</p>
|
||||||
<div><ol><li>To wrap an exception object it must be copied, which may result in slicing.</li>
|
<div><ul><li>To wrap an exception object it must be copied, which may result in slicing.</li>
|
||||||
<li>Wrapping is practically impossible to use in generic contexts.</li>
|
<li>Wrapping is practically impossible to use in generic contexts.</li>
|
||||||
</ol></div>
|
</ul></div>
|
||||||
<p>The second point is actually special case of violating the exception neutrality principle. Most contexts in a program can not handle exceptions; such contexts should not interfere with the process of exception handling.</p>
|
<p>The second point is actually special case of violating the exception neutrality principle. Most contexts in a program can not handle exceptions; such contexts should not interfere with the process of exception handling.</p>
|
||||||
<h3>The boost::exception solution</h3>
|
<h3>The boost::exception solution</h3>
|
||||||
<div><ul><li>Simply derive your exception types from boos::<span class="RenoLink"><a href="exception.html">exception</a></span>.</li>
|
<div><ul><li>Simply derive your exception types from boos::<span class="RenoLink"><a href="exception.html">exception</a></span>.</li>
|
||||||
|
11
doc/reno.css
11
doc/reno.css
@ -80,16 +80,17 @@ p
|
|||||||
|
|
||||||
pre
|
pre
|
||||||
{
|
{
|
||||||
border-top: 1px solid #000000;
|
border-top: 1px solid #C5C5C5;
|
||||||
border-bottom: 1px solid #000000;
|
border-bottom: 1px solid #C5C5C5;
|
||||||
border-left: 0;
|
border-left: 1px solid #C5C5C5;
|
||||||
border-right: 0;
|
border-right: 1px solid #C5C5C5;
|
||||||
font-size: 10pt;
|
font-size: 10pt;
|
||||||
background-color: #E5E5E5;
|
|
||||||
padding-top: 5pt;
|
padding-top: 5pt;
|
||||||
padding-bottom: 5pt;
|
padding-bottom: 5pt;
|
||||||
padding-left: 5pt;
|
padding-left: 5pt;
|
||||||
padding-right: 5pt;
|
padding-right: 5pt;
|
||||||
|
margin-left: 18pt;
|
||||||
|
margin-right: 18pt;
|
||||||
margin-top: 10pt;
|
margin-top: 10pt;
|
||||||
margin-bottom: 10pt;
|
margin-bottom: 10pt;
|
||||||
clear: both;
|
clear: both;
|
||||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user