• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
2 
3 //Distributed under the Boost Software License, Version 1.0. (See accompanying
4 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 
6 #include <boost/config.hpp>
7 
8 #if defined( BOOST_NO_EXCEPTIONS )
9 #   error This program requires exception handling.
10 #endif
11 
12 #include <boost/exception/error_info.hpp>
13 #include <boost/exception/exception.hpp>
14 #include <boost/exception/info.hpp>
15 #include <boost/exception/get_error_info.hpp>
16 #include <boost/core/lightweight_test.hpp>
17 #include <string>
18 #include <string.h>
19 
20 struct my_exception: virtual boost::exception {};
21 typedef boost::error_info<struct error_info_string_, std::string> error_info_string;
22 
23 int
main()24 main()
25     {
26     try
27         {
28         throw my_exception() << error_info_string("doh");
29         }
30     catch( my_exception & e )
31         {
32         BOOST_TEST(boost::get_error_info<error_info_string>(e) && !strcmp(boost::get_error_info<error_info_string>(e)->c_str(),"doh"));
33         }
34     return boost::report_errors();
35     }
36