# Boost Exception

### exception/operator<<

#include <boost/exception/info.hpp>

    namespace
    boost
        {
        template <class E, class Tag, class T>
        E const & operator<<( E const & x, error_info<Tag,T> const & v );
        }

#### Requirements:

E must be boost::exception, or a type that derives (indirectly) from boost::exception.

#### Postcondition:

A copy of v is stored into x. If x already contains data of type error_info<Tag,T>, that data is overwritten. Basic exception safety guarantee.

#### Returns:

x.

#### Throws:

std::bad_alloc, or any exception emitted by the T copy constructor.

See also: Boost Exception | boost/exception/info.hpp | Diagnostic Information | diagnostic_information | error_info | exception | exception::exception | Frequently Asked Questions | get_error_info | Integrating Boost Exception in Existing Exception Class Hierarchies | Motivation