[SVN r70989]
This commit is contained in:
Emil Dotchevski
2011-04-05 00:25:59 +00:00
parent cc0d73af9d
commit 9bab07e9bc

View File

@ -127,7 +127,14 @@ boost
std::ostringstream tmp; std::ostringstream tmp;
if( be ) if( be )
{ {
if( char const * const * f=get_error_info<throw_file>(*be) ) char const * const * f=get_error_info<throw_file>(*be);
int const * l=get_error_info<throw_line>(*be);
char const * const * fn=get_error_info<throw_function>(*be);
if( !f && !l && !fn )
tmp << "Throw location unknown (consider using BOOST_THROW_EXCEPTION)\n";
else
{
if( f )
{ {
tmp << *f; tmp << *f;
if( int const * l=get_error_info<throw_line>(*be) ) if( int const * l=get_error_info<throw_line>(*be) )
@ -140,6 +147,7 @@ boost
tmp << "(unknown)"; tmp << "(unknown)";
tmp << '\n'; tmp << '\n';
} }
}
#ifndef BOOST_NO_RTTI #ifndef BOOST_NO_RTTI
tmp << std::string("Dynamic exception type: ") << tmp << std::string("Dynamic exception type: ") <<
units::detail::demangle((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_->name()) << '\n'; units::detail::demangle((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_->name()) << '\n';