Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Boost Exception

boost/exception/get_error_info.hpp

Synopsis

#include <boost/shared_ptr.hpp>

namespace
boost
    {
    template <class ErrorInfo,class E>
    typename ErrorInfo::error_info::value_type const * get_error_info( E const & x );
    
    template <class ErrorInfo,class E>
    typename ErrorInfo::error_info::value_type * get_error_info( E & x );
    }