120 Commits

Author SHA1 Message Date
4d18ec3e0d Removed documentation references to BOOST_THROW_EXCEPTION_CURRENT_FUNCTION 2021-10-05 18:35:49 -07:00
21f522e4b6 Pointing throw_exception documentation to Boost.ThrowException. 2021-02-16 22:56:32 -08:00
d133df008f README.md with a link to documentation 2020-12-22 23:37:51 -08:00
fdf1fee658 Added a link to LEAF in boost-exception.html 2020-12-22 19:13:46 -08:00
8be818bc44 Added link to Boost LEAF 2020-12-19 14:01:57 -08:00
af98afb3d1 Attempt to solve issue #10 (#24)
* Attempt to solve issue #10

In boost::current_exception(), after all supported types of exception have
been checked for, a boost::unknown_exception is stored in the
boost::exception_ptr as a last resort to signal that an exception was indeed
stored, but that the actual type and value of the exception was lost.

Now, in case C++11 std::current_exception() is supported, the
std::exception_ptr result of calling std::current_exception() is what
gets stored inside the boost::exception_ptr. Later, inside
boost::rethrow_exception, the std::exception_ptr is retrieved from
the boost::exception_ptr and whatever exception it stores is thrown via
std::rethrow_exception().

The main benefit is than now any exception thrown via plain 'throw'
can be trasnported via boost::exception_ptr. Before this change it was
required that the throw site either used boost::enable_current_exception()
or boost::throw_exception() or threw an exception type inheriting from
boost::exception, which was impossible for third party software
that does not use Boost.Exception.

The detection of std::current_exception() is currently done via config macro
BOOST_NO_CXX11_NOEXCEPT, assuming that if 'noexcept' is supported then
std::exception_ptr is also supported. A better solution would require a new
dedicated macro in Boost.Config.

* Detect support for std::current_exception() via config macro BOOST_NO_CXX11_HDR_EXCEPTION

The temporary solution via BOOST_NO_CXX11_NOEXCEPT was an ugly hack
that is no longer necessary now that Boost.Config has
BOOST_NO_CXX11_HDR_EXCEPTION (pending merge to develop).

* Attempt to solve issue #10

In boost::current_exception(), after all supported types of exception have
been checked for, a boost::unknown_exception is stored in the
boost::exception_ptr as a last resort to signal that an exception was indeed
stored, but that the actual type and value of the exception was lost.

Now, in case C++11 std::current_exception() is supported, the
std::exception_ptr result of calling std::current_exception() is what
gets stored inside the boost::exception_ptr. Later, inside
boost::rethrow_exception, the std::exception_ptr is retrieved from
the boost::exception_ptr and whatever exception it stores is thrown via
std::rethrow_exception().

The main benefit is than now any exception thrown via plain 'throw'
can be trasnported via boost::exception_ptr. Before this change it was
required that the throw site either used boost::enable_current_exception()
or boost::throw_exception() or threw an exception type inheriting from
boost::exception, which was impossible for third party software
that does not use Boost.Exception.

The detection of std::current_exception() is currently done via config macro
BOOST_NO_CXX11_NOEXCEPT, assuming that if 'noexcept' is supported then
std::exception_ptr is also supported. A better solution would require a new
dedicated macro in Boost.Config.

* Detect support for std::current_exception() via config macro BOOST_NO_CXX11_HDR_EXCEPTION

The temporary solution via BOOST_NO_CXX11_NOEXCEPT was an ugly hack
that is no longer necessary now that Boost.Config has
BOOST_NO_CXX11_HDR_EXCEPTION (pending merge to develop).

* Document detection of C++11 std::current_exception through BOOST_NO_CXX11_HDR_EXCEPTION

* Added dist: trusty for Travis config, as recommended by pdimov in issue #10

* Stupid gcc 4.7 and 4.8 are confused initializing a reference with braces, using equal sign hoping it works (tested similar code on godbolt).
2020-01-29 13:41:48 -08:00
2a68f099bf Ticket 9069, thanks sarum9in
[SVN r85634]
2013-09-10 05:05:41 +00:00
9b100b0c9d Added verbose parameter to boost::diagnostic_information.
[SVN r82179]
2012-12-23 03:31:48 +00:00
e25f33aaf6 Ticket 6450 (thanks A Polukhin.)
[SVN r79033]
2012-06-23 00:32:43 +00:00
c2c1728a5b Documentation update.
[SVN r79025]
2012-06-21 02:15:19 +00:00
c3e35e9d37 Making clone_impl derive virtually from clone_base, so that calling boost::copy_exception with a type that already derives from clone_impl doesn't make pointer conversions to clone_impl ambiguous.
[SVN r77339]
2012-03-15 02:13:52 +00:00
192ffd0379 Applying the Boost Exception part of the patch mentioned in #4594.
[SVN r76109]
2011-12-22 21:27:10 +00:00
b053deaf22 documentation update
[SVN r73005]
2011-07-11 17:56:47 +00:00
5f6812b226 Hopefully fixing a GCC warning.
[SVN r72127]
2011-05-23 19:34:44 +00:00
f6e9b5808a doc update
[SVN r70990]
2011-04-05 00:48:19 +00:00
24f3292606 doc update
[SVN r70975]
2011-04-04 21:55:53 +00:00
a74d041bd5 Ticket 4282
[SVN r68794]
2011-02-12 00:09:06 +00:00
08f65cca73 Ticket #5178
[SVN r68793]
2011-02-11 23:46:38 +00:00
b48a7933c7 documentation update
[SVN r65353]
2010-09-08 07:28:24 +00:00
787fb1f148 Fixing https://svn.boost.org/trac/boost/ticket/4210
[SVN r61938]
2010-05-12 23:36:29 +00:00
f10defd7a2 Fixed various issues in docs (mostly duplicate bookmarks and broken links) found by inspect tool
[SVN r61437]
2010-04-20 18:49:18 +00:00
8a8705542f documentation update
[SVN r60160]
2010-03-05 01:20:35 +00:00
3013e991f1 exception_ptr bad_alloc refactoring
[SVN r59431]
2010-02-02 19:41:55 +00:00
ab7a4ebb1a documentation update
[SVN r59373]
2010-01-30 20:59:15 +00:00
6a92851a38 minor BOOST_THROW_EXCEPTION fix.
[SVN r58500]
2009-12-22 21:34:34 +00:00
9d499676ae Simplified type_info support due to improvements in boost/detail/sp_typeinfo.hpp. A few tweaks to better deal with warnings.
[SVN r58132]
2009-12-04 06:33:47 +00:00
58a49ff77e minor diagnostic_information maintenance, updated documentation
[SVN r58131]
2009-12-04 01:29:22 +00:00
4756dc6fe7 documentation update
[SVN r57058]
2009-10-22 07:10:26 +00:00
17951c2b7d Added errinfo_nested_exception typedef. Fixed minor documentation error.
[SVN r56766]
2009-10-13 01:47:22 +00:00
2c0599b885 Another minor documentation bug.
[SVN r56450]
2009-09-27 21:24:09 +00:00
da4f20e998 Minor documentation update.
[SVN r56449]
2009-09-27 21:22:42 +00:00
c25d7d2ba0 New function: diagnostic_information_what.
[SVN r56448]
2009-09-27 21:17:48 +00:00
9683159e5c documentation bug
[SVN r55867]
2009-08-29 18:45:08 +00:00
fa96125efb mutable get_error_info support
[SVN r55707]
2009-08-21 22:28:44 +00:00
0003622f9d documentation update
[SVN r54906]
2009-07-12 06:59:53 +00:00
96ed20d2d7 documentation update
[SVN r54870]
2009-07-10 19:03:29 +00:00
96e2ac573a Examples/documentation update
[SVN r54842]
2009-07-09 20:51:10 +00:00
a674ec2bb9 Minor fix in libs/exception/example/example_io.cpp.
[SVN r54840]
2009-07-09 18:52:35 +00:00
33bfe0bf65 documentation update
[SVN r54839]
2009-07-09 17:53:14 +00:00
2b34528ef0 Documentation and examples update.
[SVN r54831]
2009-07-09 07:35:15 +00:00
953399846a Documentation update
[SVN r54828]
2009-07-09 03:51:30 +00:00
e7c9f21a93 documentation update
[SVN r53240]
2009-05-25 07:14:17 +00:00
2b9c154563 documentation update
[SVN r53238]
2009-05-25 06:09:01 +00:00
0372936d86 documentation fix
[SVN r53065]
2009-05-17 06:06:14 +00:00
d692895aab documentation update
[SVN r53040]
2009-05-15 23:11:14 +00:00
9cee59551d documentation typo
[SVN r53039]
2009-05-15 22:42:32 +00:00
1643ad2e81 support for exception_ptr and nesting in boost::diagnostic_information
documentation update

[SVN r53038]
2009-05-15 22:34:30 +00:00
15c0ff6130 documentation update
[SVN r52983]
2009-05-14 01:58:08 +00:00
bec171e234 exception_ptr improvements, documentation update.
[SVN r52981]
2009-05-14 00:36:46 +00:00
2c959a4e43 Use local copies of the boost logo.
[SVN r52666]
2009-04-29 21:19:12 +00:00