# Boost Exception

### BOOST_ERROR_INFO

#include <boost/exception/info.hpp>

    namespace
    boost
        {
        typedef error_info<struct tag_throw_function,char const *> throw_function;
        typedef error_info<struct tag_throw_file,char const *> throw_file;
        typedef error_info<struct tag_throw_line,int> throw_line;

        #define BOOST_ERROR_INFO\
            ::boost::throw_function(BOOST_CURRENT_FUNCTION) <<\
            ::boost::throw_file(__FILE__) <<\
            ::boost::throw_line((int)__LINE__)
        }

This macro is designed to be used with operator<< when throwing a boost::exception, to store information about the location of the throw statement. It can be chained with other error_infos in a single throw expression.

### See Also:

Boost Exception
boost/exception/info.hpp