|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r52979 - trunk/boost
From: emil_at_[hidden]
Date: 2009-05-13 18:15:59
Author: emildotchevski
Date: 2009-05-13 18:15:59 EDT (Wed, 13 May 2009)
New Revision: 52979
URL: http://svn.boost.org/trac/boost/changeset/52979
Log:
Added explicit handling for a few std exception types that were missing from boost::current_exception().
Text files modified:
trunk/boost/exception_ptr.hpp | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
Modified: trunk/boost/exception_ptr.hpp
==============================================================================
--- trunk/boost/exception_ptr.hpp (original)
+++ trunk/boost/exception_ptr.hpp 2009-05-13 18:15:59 EDT (Wed, 13 May 2009)
@@ -15,6 +15,7 @@
#include <boost/shared_ptr.hpp>
#include <stdexcept>
#include <new>
+#include <ios>
namespace
boost
@@ -236,11 +237,21 @@
return shared_ptr<exception_detail::clone_base const>(e.clone());
}
catch(
+ std::domain_error & e )
+ {
+ return exception_detail::current_exception_std_exception(e);
+ }
+ catch(
std::invalid_argument & e )
{
return exception_detail::current_exception_std_exception(e);
}
catch(
+ std::length_error & e )
+ {
+ return exception_detail::current_exception_std_exception(e);
+ }
+ catch(
std::out_of_range & e )
{
return exception_detail::current_exception_std_exception(e);
@@ -251,6 +262,31 @@
return exception_detail::current_exception_std_exception(e);
}
catch(
+ std::range_error & e )
+ {
+ return exception_detail::current_exception_std_exception(e);
+ }
+ catch(
+ std::overflow_error & e )
+ {
+ return exception_detail::current_exception_std_exception(e);
+ }
+ catch(
+ std::underflow_error & e )
+ {
+ return exception_detail::current_exception_std_exception(e);
+ }
+ catch(
+ std::ios_base::failure & e )
+ {
+ return exception_detail::current_exception_std_exception(e);
+ }
+ catch(
+ std::runtime_error & e )
+ {
+ return exception_detail::current_exception_std_exception(e);
+ }
+ catch(
std::bad_alloc & e )
{
return exception_detail::current_exception_std_exception(e);
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk