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/throw_exception.hpp> 13 #include <boost/detail/lightweight_test.hpp> 14 15 class my_exception: public std::exception { }; 16 17 int main()18main() 19 { 20 try 21 { 22 boost::throw_exception(my_exception()); 23 BOOST_ERROR("boost::throw_exception failed to throw."); 24 } 25 catch( 26 my_exception & ) 27 { 28 } 29 catch( 30 ... ) 31 { 32 BOOST_ERROR("boost::throw_exception malfunction."); 33 } 34 return boost::report_errors(); 35 } 36