1    	//
2    	// detail/throw_error.hpp
3    	// ~~~~~~~~~~~~~~~~~~~~~~
4    	//
5    	// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6    	//
7    	// Distributed under the Boost Software License, Version 1.0. (See accompanying
8    	// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9    	//
10   	
11   	#ifndef BOOST_ASIO_DETAIL_THROW_ERROR_HPP
12   	#define BOOST_ASIO_DETAIL_THROW_ERROR_HPP
13   	
14   	#if defined(_MSC_VER) && (_MSC_VER >= 1200)
15   	# pragma once
16   	#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17   	
18   	#include <boost/asio/detail/config.hpp>
19   	#include <boost/system/error_code.hpp>
20   	
21   	#include <boost/asio/detail/push_options.hpp>
22   	
23   	namespace boost {
24   	namespace asio {
25   	namespace detail {
26   	
27   	BOOST_ASIO_DECL void do_throw_error(const boost::system::error_code& err);
28   	
29   	BOOST_ASIO_DECL void do_throw_error(const boost::system::error_code& err,
30   	    const char* location);
31   	
32   	inline void throw_error(const boost::system::error_code& err)
33   	{
34   	  if (err)
35   	    do_throw_error(err);
36   	}
37   	
38   	inline void throw_error(const boost::system::error_code& err,
39   	    const char* location)
40   	{
41   	  if (err)
(1) Event fun_call_w_exception: Called function throws an exception of type "boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >". [details]
42   	    do_throw_error(err, location);
43   	}
44   	
45   	} // namespace detail
46   	} // namespace asio
47   	} // namespace boost
48   	
49   	#include <boost/asio/detail/pop_options.hpp>
50   	
51   	#if defined(BOOST_ASIO_HEADER_ONLY)
52   	# include <boost/asio/detail/impl/throw_error.ipp>
53   	#endif // defined(BOOST_ASIO_HEADER_ONLY)
54   	
55   	#endif // BOOST_ASIO_DETAIL_THROW_ERROR_HPP
56