diff --git a/doc/BOOST_ERROR_INFO.html b/doc/BOOST_ERROR_INFO.html index c3f2ef9..7abbb7f 100644 --- a/doc/BOOST_ERROR_INFO.html +++ b/doc/BOOST_ERROR_INFO.html @@ -16,6 +16,9 @@

Boost Exception

+ + +

BOOST_ERROR_INFO

#include <boost/exception/info.hpp>

namespace
@@ -34,6 +37,9 @@ boost
 

See also:

Boost Exception
+ + +

Boost Exception

+ + +

Abstract

The purpose of Boost Exception is to ease the design of exception class hierarchies and to help write exception handling and error reporting code.

It supports transporting of arbitrary data to the catch site, which is otherwise tricky due to the no-throw requirements (15.5.1) for exception classes. Data can be added to any exception object, either directly in the throw-expression (15.1), or at a later time as the exception object propagates up the call stack.

@@ -333,7 +336,7 @@ my_exception: .... throw boost::enable_current_exception(my_exception()); -

Unless enable_current_exception() is called at the time an exception object is used in a throw-expression, any attempt to copy it using current_exception() returns an exception_ptr which refers to an instance of unknown_exception.

+

Unless enable_current_exception() is called at the time an exception object is used in a throw-expression, an attempt to copy it using current_exception() may return an exception_ptr which refers to an instance of unknown_exception. See current_exception() for details.

Note:

Instead of using the throw keyword directly, it is preferable to call boost::throw_exception(). This is guaranteed to throw an exception that derives from boost::exception and supports cloning.

current_exception()

@@ -405,7 +408,10 @@ boost
-
+ + +

Boost Exception

+ + +

Transporting of Exceptions between Threads

Boost Exception supports transporting of exception objects between threads through cloning. This system is similar to N2179, but because Boost Exception can not rely on language support, the use of enable_current_exception() at the time of the throw is required in order to use cloning.

Note:

@@ -81,6 +84,9 @@ work()
Boost Exception
unknown_exception
+ + +

Boost Exception

+ + +

copy_exception()

#include <boost/exception_ptr.hpp>

namespace
@@ -30,6 +33,9 @@ boost
 
+
+
+
 
 

Boost Exception

+ + +

current_exception()

#include <boost/exception_ptr.hpp>

namespace
@@ -40,6 +43,9 @@ boost
 exception_ptr
unknown_exception
+ + +

Boost Exception

+ + +

enable_current_exception()

#include <boost/exception/enable_current_exception.hpp>

namespace
@@ -38,7 +41,7 @@ my_exception:
 
 ....
 throw boost::enable_current_exception(my_exception());
-

Unless enable_current_exception() is called at the time an exception object is used in a throw-expression, any attempt to copy it using current_exception() returns an exception_ptr which refers to an instance of unknown_exception.

+

Unless enable_current_exception() is called at the time an exception object is used in a throw-expression, an attempt to copy it using current_exception() may return an exception_ptr which refers to an instance of unknown_exception. See current_exception() for details.

Note:

Instead of using the throw keyword directly, it is preferable to call boost::throw_exception(). This is guaranteed to throw an exception that derives from boost::exception and supports cloning.

See also:

@@ -47,6 +50,9 @@ throw boost::enab Tutorial: Transporting of Exceptions between Threads
throw_exception
+ + +

Boost Exception

+ + +

enable_error_info()

#include <boost/exception/enable_error_info.hpp>

namespace
@@ -35,6 +38,9 @@ boost
 Tutorial: Integrating Boost Exception in Existing Exception Class Hierarchies
throw_exception
+ + +

Boost Exception

+ + +

error_info

#include <boost/exception/info.hpp>

namespace
@@ -56,6 +59,9 @@ typedef boost::error_infoTutorial: Integrating Boost Exception in Existing Exception Class Hierarchies
Tutorial: Logging of boost::exception Objects
+ + +

Boost Exception

+ + +

exception

#include <boost/exception/exception.hpp>

namespace
@@ -79,6 +82,9 @@ boost
 Tutorial: Transporting of Arbitrary Data to the Catch Site
Tutorial: Transporting of Exceptions between Threads
+ + +

Boost Exception

+ + +

boost/exception_ptr.hpp

This header file contains the following definitions/declarations:

copy_exception
@@ -24,6 +27,9 @@
rethrow_exception
unknown_exception
+ + +

Boost Exception

+ + +

exception constructors

        exception();
         exception( exception const & x );
@@ -28,6 +31,9 @@

See also:

exception
+ + +

Boost Exception

+ + +

exception destructor

        ~exception();

Effects:

@@ -25,6 +28,9 @@

See also:

exception
+ + +

Boost Exception

+ + +

boost/exception/enable_error_info.hpp

This header file contains the following definitions/declarations:

enable_error_info
+ + +

Boost Exception

+ + +

boost/exception/enable_current_exception.hpp

This header file contains the following definitions/declarations:

enable_current_exception
+ + +

Boost Exception

+ + +

boost/exception/info_tuple.hpp

This header file contains the following definitions/declarations:

operator<</exception
+ + +

Boost Exception

+ + +

boost/exception/info.hpp

This header file contains the following definitions/declarations:

BOOST_ERROR_INFO
@@ -23,6 +26,9 @@
get_error_info
operator<</exception
+ + +

Boost Exception

+ + +

boost/exception/error_info.hpp

This header file contains the following declaration:

namespace
@@ -24,6 +27,9 @@ boost
     template <class Tag, class T>
     class error_info;
     }
+ + +

Boost Exception

+ + +

boost/exception/exception.hpp

This header file contains the following definitions/declarations:

exception
+ + +

Boost Exception

+ + +

boost/exception.hpp

This header file includes all other header files of Boost Exception:

boost/exception.hpp
@@ -28,6 +31,9 @@
boost/exception_ptr.hpp
boost/throw_exception.hpp
+ + +

Boost Exception

+ + +

exception_ptr

#include <boost/exception_ptr.hpp>

namespace
@@ -35,6 +38,9 @@ boost
 enable_current_exception
rethrow_exception
+ + +

Boost Exception

+ + +

exception::what()

        virtual char const * what() const throw();

Returns:

@@ -28,6 +31,9 @@
exception
Tutorial: Logging of boost::exception Objects
+ + +

Boost Exception

+ + +

get_error_info()

#include <boost/exception/info.hpp>

namespace
@@ -35,6 +38,9 @@ boost
 error_info
exception
+ + +

Boost Exception

+ + +

Logging of boost::exception Objects

Class boost::exception provides a virtual member function what(), with a signature identical to the familiar std::exception::what() function. The default implementation returns a string value that is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example:

#include <boost/exception.hpp>
@@ -43,6 +46,9 @@ g()
 

See also:

Boost Exception
+ + +

Boost Exception

+ + +

Index

B

BOOST_ERROR_INFO

@@ -52,6 +55,9 @@

u

unknown_exception

+ + +

Boost Exception

+ + +

operator<<()

#include <boost/exception/info.hpp> 
#include <boost/exception/info_tuple.hpp>

namespace
@@ -50,6 +53,9 @@ boost
 Tutorial: Integrating Boost Exception in Existing Exception Class Hierarchies
Tutorial: Logging of boost::exception Objects
+ + +

Boost Exception

+ + +

rethrow_exception()

#include <boost/exception_ptr.hpp>

namespace
@@ -30,6 +33,9 @@ boost
 

See also:

Boost Exception
+ + +

Boost Exception

+ + + diff --git a/doc/source/html_suffix.txt b/doc/source/html_suffix.txt index bbb92a6..a03659a 100644 --- a/doc/source/html_suffix.txt +++ b/doc/source/html_suffix.txt @@ -1,3 +1,6 @@ + + +

Boost Exception

+ + +

throw_exception()

#include <boost/throw_exception.hpp>

namespace
@@ -37,6 +40,9 @@ boost
 enable_current_exception
Tutorial: Transporting of Exceptions between Threads
+ + +

Boost Exception

+ + +

boost/exception/throw_exception.hpp

This header file contains the following definitions/declarations:

throw_exception
+ + +

Boost Exception

+ + +

Transporting of Arbitrary Data to the Catch Site

All exception types that derive from boost::exception can be used as type-safe containers of arbitrary data objects, while complying with the no-throw requirements (15.5.1) of the ANSI C++ standard for exception classes. Data can be added to a boost::exception at the time of the throw, or at a later time.

Adding of Arbitrary Data at the Point of the Throw

@@ -165,6 +168,9 @@ file_open( char const * name, char const * mode ) + + +

Boost Exception

+ + +

unknown_exception

#include <boost/exception_ptr.hpp>

namespace
@@ -35,6 +38,9 @@ boost
 current_exception
enable_current_exception
+ + +

Boost Exception

+ + +

Integrating Boost Exception in Existing Exception Class Hierarchies

Some exception hierarchies can not be modified to make boost::exception a base type. For this case, the enable_error_info() function template can be used to make exception objects derive from boost::exception anyway. Here is an example:

#include <boost/exception.hpp>
@@ -49,6 +52,9 @@ my_container
 

See also:

Boost Exception
+ + +