mirror of
https://github.com/boostorg/throw_exception.git
synced 2025-07-30 04:17:14 +02:00
Add asciidoc documentation
This commit is contained in:
2
doc/.gitignore
vendored
Normal file
2
doc/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/html/
|
||||||
|
/pdf/
|
@ -1,55 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
|
|
||||||
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
|
|
||||||
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
|
|
||||||
<title>BOOST_THROW_EXCEPTION</title>
|
|
||||||
<link href='reno.css' type='text/css' rel='stylesheet'/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="body-0">
|
|
||||||
<div class="body-1">
|
|
||||||
<div class="body-2">
|
|
||||||
<div>
|
|
||||||
<div id="boost_logo">
|
|
||||||
<a href="http://www.boost.org"><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
|
|
||||||
</div>
|
|
||||||
<h1>Boost Exception</h1>
|
|
||||||
</div>
|
|
||||||
<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
|
|
||||||
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
|
|
||||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
|
||||||
<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>BOOST_THROW_EXCEPTION</h3>
|
|
||||||
</div>
|
|
||||||
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink"><a href="boost_throw_exception_hpp.html">boost/throw_exception.hpp</a></span>></p>
|
|
||||||
<div class="RenoIncludeDIV"><pre>#if !defined( BOOST_EXCEPTION_DISABLE )
|
|
||||||
#include <<span class="RenoLink"><a href="boost_exception_exception_hpp.html">boost/exception/exception.hpp</a></span>>
|
|
||||||
#include <boost/current_function.hpp>
|
|
||||||
#define <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(x)\
|
|
||||||
::boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>( ::boost::<span class="RenoLink"><a href="enable_error_info.html">enable_error_info</a></span>(x) <<\
|
|
||||||
::boost::<span class="RenoLink"><a href="boost_exception_exception_hpp.html">throw_function</a></span>(<span class="RenoLink"><a href="configuration_macros.html">BOOST_THROW_EXCEPTION_CURRENT_FUNCTION</a></span>) <<\
|
|
||||||
::boost::<span class="RenoLink"><a href="boost_exception_exception_hpp.html">throw_file</a></span>(__FILE__) <<\
|
|
||||||
::boost::<span class="RenoLink"><a href="boost_exception_exception_hpp.html">throw_line</a></span>((int)__LINE__) )
|
|
||||||
#else
|
|
||||||
#define <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(x) ::boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>(x)
|
|
||||||
#endif</pre>
|
|
||||||
</div></div><p>This macro takes an exception object, records the current function name, __FILE__ and __LINE__ in it, and forwards it to <span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>. To recover this information at the catch site, use <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span>; the information is also included in the message returned by <span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span>.</p>
|
|
||||||
</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
|
|
||||||
See also: <span class="RenoPageList"><a href="boost-exception.html">Boost Exception</a> | <a href="boost_throw_exception_hpp.html">boost/throw_exception.hpp</a> | <a href="configuration_macros.html">Configuration Macros</a> | <a href="frequently_asked_questions.html">Frequently Asked Questions</a></span>
|
|
||||||
</div>
|
|
||||||
<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
|
|
||||||
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
|
|
||||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
|
||||||
<div id="footer">
|
|
||||||
<p>
|
|
||||||
<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
|
|
||||||
<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
|
|
||||||
<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
|
|
||||||
Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt">Boost Software License, Version 1.0</a>.</small>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
23
doc/Jamfile
Normal file
23
doc/Jamfile
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Copyright 2017 Peter Dimov
|
||||||
|
#
|
||||||
|
# Distributed under the Boost Software License, Version 1.0.
|
||||||
|
# (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
import asciidoctor ;
|
||||||
|
|
||||||
|
html throw_exception.html : index.adoc ;
|
||||||
|
|
||||||
|
install html_ : throw_exception.html : <location>html ;
|
||||||
|
|
||||||
|
pdf throw_exception.pdf : index.adoc ;
|
||||||
|
explicit throw_exception.pdf ;
|
||||||
|
|
||||||
|
install pdf_ : throw_exception.pdf : <location>pdf ;
|
||||||
|
explicit pdf_ ;
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
alias boostdoc ;
|
||||||
|
explicit boostdoc ;
|
||||||
|
alias boostrelease : html_ ;
|
||||||
|
explicit boostrelease ;
|
@ -1,65 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
|
|
||||||
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
|
|
||||||
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
|
|
||||||
<title>boost/throw_exception.hpp</title>
|
|
||||||
<link href='reno.css' type='text/css' rel='stylesheet'/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="body-0">
|
|
||||||
<div class="body-1">
|
|
||||||
<div class="body-2">
|
|
||||||
<div>
|
|
||||||
<div id="boost_logo">
|
|
||||||
<a href="http://www.boost.org"><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
|
|
||||||
</div>
|
|
||||||
<h1>Boost Exception</h1>
|
|
||||||
</div>
|
|
||||||
<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
|
|
||||||
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
|
|
||||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
|
||||||
<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/throw_exception.hpp</h2>
|
|
||||||
</div>
|
|
||||||
<h3>Synopsis</h3>
|
|
||||||
<div class="RenoIncludeDIV"><div class="RenoIncludeDIV"><pre><span class="RenoIncludeSPAN">#if !defined( BOOST_EXCEPTION_DISABLE )
|
|
||||||
#include <<span class="RenoLink"><a href="boost_exception_exception_hpp.html">boost/exception/exception.hpp</a></span>>
|
|
||||||
#include <boost/current_function.hpp>
|
|
||||||
#define <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(x)\
|
|
||||||
::boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>( ::boost::<span class="RenoLink"><a href="enable_error_info.html">enable_error_info</a></span>(x) <<\
|
|
||||||
::boost::<span class="RenoLink"><a href="boost_exception_exception_hpp.html">throw_function</a></span>(<span class="RenoLink"><a href="configuration_macros.html">BOOST_THROW_EXCEPTION_CURRENT_FUNCTION</a></span>) <<\
|
|
||||||
::boost::<span class="RenoLink"><a href="boost_exception_exception_hpp.html">throw_file</a></span>(__FILE__) <<\
|
|
||||||
::boost::<span class="RenoLink"><a href="boost_exception_exception_hpp.html">throw_line</a></span>((int)__LINE__) )
|
|
||||||
#else
|
|
||||||
#define <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(x) ::boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>(x)
|
|
||||||
#endif</span>
|
|
||||||
|
|
||||||
namespace
|
|
||||||
boost
|
|
||||||
{
|
|
||||||
<span class="RenoIncludeSPAN">#ifdef BOOST_NO_EXCEPTIONS
|
|
||||||
void <span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>( std::exception const & e ); // user defined
|
|
||||||
#else
|
|
||||||
template <class E>
|
|
||||||
void <span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>( E const & e );
|
|
||||||
#endif</span>
|
|
||||||
}</pre>
|
|
||||||
</div></div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
|
|
||||||
See also: <span class="RenoPageList"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a> | <a href="configuration_macros.html">Configuration Macros</a> | <a href="synopsis.html">Synopsis</a> | <a href="throw_exception.html">throw_exception</a></span>
|
|
||||||
</div>
|
|
||||||
<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
|
|
||||||
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
|
|
||||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
|
||||||
<div id="footer">
|
|
||||||
<p>
|
|
||||||
<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
|
|
||||||
<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
|
|
||||||
<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
|
|
||||||
Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt">Boost Software License, Version 1.0</a>.</small>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
19
doc/changes.adoc
Normal file
19
doc/changes.adoc
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
////
|
||||||
|
Copyright 2019 Peter Dimov
|
||||||
|
Distributed under the Boost Software License, Version 1.0.
|
||||||
|
http://www.boost.org/LICENSE_1_0.txt
|
||||||
|
////
|
||||||
|
|
||||||
|
[#changes]
|
||||||
|
# Release History
|
||||||
|
:toc:
|
||||||
|
:toc-title:
|
||||||
|
:idprefix:
|
||||||
|
|
||||||
|
## Changes in Boost 1.73.0
|
||||||
|
|
||||||
|
* Added an overload of `throw_exception` that takes a `boost::source_location`
|
||||||
|
object.
|
||||||
|
|
||||||
|
NOTE: Projects using `BOOST_THROW_EXCEPTION` with exceptions disabled will need
|
||||||
|
to add a definition of this new overload.
|
117
doc/description.adoc
Normal file
117
doc/description.adoc
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
////
|
||||||
|
Copyright 2019 Peter Dimov
|
||||||
|
Distributed under the Boost Software License, Version 1.0.
|
||||||
|
http://www.boost.org/LICENSE_1_0.txt
|
||||||
|
////
|
||||||
|
|
||||||
|
[#description]
|
||||||
|
# Description
|
||||||
|
:toc:
|
||||||
|
:toc-title:
|
||||||
|
:idprefix:
|
||||||
|
|
||||||
|
The header `<boost/throw_exception.hpp>` provides a common Boost infrastructure
|
||||||
|
for throwing exceptions, in the form of a function `boost::throw_exception`
|
||||||
|
and a macro `BOOST_THROW_EXCEPTION`.
|
||||||
|
|
||||||
|
`boost::throw_exception(x);` is a replacement for `throw x;` that both
|
||||||
|
degrades gracefully when exception handling support is not available, and
|
||||||
|
integrates the thrown exception into facilities provided by
|
||||||
|
link:../../../exception/index.html[Boost.Exception], such as automatically
|
||||||
|
providing a base class of type `boost::exception` and support for
|
||||||
|
`boost::exception_ptr`.
|
||||||
|
|
||||||
|
When exception handling is not available, the function is only declared, but
|
||||||
|
not defined. This allows users to provide their own definition.
|
||||||
|
|
||||||
|
An overload for `boost::throw_exception` that takes a
|
||||||
|
link:../../../assert/doc/html/assert.html#source_location_support[`boost::source_location`]
|
||||||
|
is provided. It records the supplied source location into the `boost::exception`
|
||||||
|
base class, from where it can later be retrieved when the exception is caught.
|
||||||
|
link:../../../exception/doc/diagnostic_information.html[`boost::diagnostic_information`]
|
||||||
|
automatically displays the stored source location.
|
||||||
|
|
||||||
|
The macro `BOOST_THROW_EXCEPTION(x)` expands to
|
||||||
|
`::boost::throw_exception(x, BOOST_CURRENT_LOCATION)`, passing the current source
|
||||||
|
location.
|
||||||
|
|
||||||
|
[#examples]
|
||||||
|
# Examples
|
||||||
|
:toc:
|
||||||
|
:toc-title:
|
||||||
|
:idprefix:
|
||||||
|
|
||||||
|
## Using BOOST_THROW_EXCEPTION
|
||||||
|
|
||||||
|
```
|
||||||
|
#include <boost/throw_exception.hpp>
|
||||||
|
#include <boost/exception/diagnostic_information.hpp>
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
void f()
|
||||||
|
{
|
||||||
|
BOOST_THROW_EXCEPTION( std::runtime_error( "Unspecified runtime error" ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
f();
|
||||||
|
}
|
||||||
|
catch( std::exception const & x )
|
||||||
|
{
|
||||||
|
std::cerr << boost::diagnostic_information( x ) << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Using boost::throw_exception with a source location
|
||||||
|
|
||||||
|
```
|
||||||
|
#include <boost/throw_exception.hpp>
|
||||||
|
#include <boost/lexical_cast.hpp>
|
||||||
|
#include <boost/exception/diagnostic_information.hpp>
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <cstddef>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
void throw_index_error( std::size_t i, std::size_t n,
|
||||||
|
boost::source_location const & loc )
|
||||||
|
{
|
||||||
|
std::string msg = "Index out of range: "
|
||||||
|
+ boost::lexical_cast<std::string>( i ) + " >= "
|
||||||
|
+ boost::lexical_cast<std::string>( n );
|
||||||
|
|
||||||
|
boost::throw_exception( std::out_of_range( msg ), loc );
|
||||||
|
}
|
||||||
|
|
||||||
|
void f1( std::size_t i, std::size_t n )
|
||||||
|
{
|
||||||
|
if( i >= n )
|
||||||
|
{
|
||||||
|
throw_index_error( i, n, BOOST_CURRENT_LOCATION );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void f2( std::size_t i, std::size_t n )
|
||||||
|
{
|
||||||
|
if( i >= n )
|
||||||
|
{
|
||||||
|
throw_index_error( i, n, BOOST_CURRENT_LOCATION );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
f1( 4, 3 );
|
||||||
|
}
|
||||||
|
catch( std::exception const & x )
|
||||||
|
{
|
||||||
|
std::cerr << boost::diagnostic_information( x ) << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
6
doc/index-docinfo-footer.html
Normal file
6
doc/index-docinfo-footer.html
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<style>
|
||||||
|
|
||||||
|
*:not(pre)>code { background: none; color: #600000; }
|
||||||
|
:not(pre):not([class^=L])>code { background: none; color: #600000; }
|
||||||
|
|
||||||
|
</style>
|
27
doc/index.adoc
Normal file
27
doc/index.adoc
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
////
|
||||||
|
Copyright 2017, 2019 Peter Dimov
|
||||||
|
Distributed under the Boost Software License, Version 1.0.
|
||||||
|
http://www.boost.org/LICENSE_1_0.txt
|
||||||
|
////
|
||||||
|
|
||||||
|
# Boost.ThrowException
|
||||||
|
Peter Dimov, Emil Dotchevski
|
||||||
|
:toc: left
|
||||||
|
:idprefix:
|
||||||
|
:docinfo: private-footer
|
||||||
|
|
||||||
|
:leveloffset: +1
|
||||||
|
|
||||||
|
include::description.adoc[]
|
||||||
|
include::changes.adoc[]
|
||||||
|
include::reference.adoc[]
|
||||||
|
|
||||||
|
:leveloffset: -1
|
||||||
|
|
||||||
|
[appendix]
|
||||||
|
## Copyright and License
|
||||||
|
|
||||||
|
This documentation is
|
||||||
|
|
||||||
|
* Copyright 2019 Peter Dimov
|
||||||
|
* Distributed under the http://www.boost.org/LICENSE_1_0.txt[Boost Software License, Version 1.0].
|
98
doc/reference.adoc
Normal file
98
doc/reference.adoc
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
////
|
||||||
|
Copyright 2019 Peter Dimov
|
||||||
|
Distributed under the Boost Software License, Version 1.0.
|
||||||
|
http://www.boost.org/LICENSE_1_0.txt
|
||||||
|
////
|
||||||
|
|
||||||
|
[#reference]
|
||||||
|
# Reference
|
||||||
|
:toc:
|
||||||
|
:toc-title:
|
||||||
|
:idprefix:
|
||||||
|
|
||||||
|
[#synopsis]
|
||||||
|
## <boost/throw_exception.hpp> Synopsis
|
||||||
|
|
||||||
|
```
|
||||||
|
#include <boost/assert/source_location.hpp>
|
||||||
|
#include <boost/config.hpp>
|
||||||
|
#include <exception>
|
||||||
|
|
||||||
|
namespace boost
|
||||||
|
{
|
||||||
|
|
||||||
|
#if defined( BOOST_NO_EXCEPTIONS )
|
||||||
|
|
||||||
|
BOOST_NORETURN void throw_exception( std::exception const & e ); // user defined
|
||||||
|
|
||||||
|
BOOST_NORETURN void throw_exception( std::exception const & e,
|
||||||
|
boost::source_location const & loc ); // user defined
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
template<class E> BOOST_NORETURN inline void throw_exception( E const & e );
|
||||||
|
|
||||||
|
template<class E> BOOST_NORETURN void throw_exception( E const & e,
|
||||||
|
boost::source_location const & loc );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
} // namespace boost
|
||||||
|
|
||||||
|
#define BOOST_THROW_EXCEPTION(x) \
|
||||||
|
::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
|
||||||
|
```
|
||||||
|
|
||||||
|
## throw_exception
|
||||||
|
|
||||||
|
```
|
||||||
|
#if defined( BOOST_NO_EXCEPTIONS )
|
||||||
|
|
||||||
|
BOOST_NORETURN void throw_exception( std::exception const & e ); // user defined
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
template<class E> BOOST_NORETURN inline void throw_exception( E const & e );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
```
|
||||||
|
|
||||||
|
Requires: :: `E` must have `std::exception` as a public and unambiguous base
|
||||||
|
class.
|
||||||
|
|
||||||
|
Effects: ::
|
||||||
|
* When exceptions aren't available, the function is declared, but
|
||||||
|
not defined. The user is expected to supply an appropriate definition.
|
||||||
|
* Otherwise, if `BOOST_EXCEPTION_DISABLE` is defined, the function
|
||||||
|
throws `e`.
|
||||||
|
* Otherwise, the function throws an object of a type derived from `E`,
|
||||||
|
derived from `boost::exception`, if `E` doesn't already derive from
|
||||||
|
it, and containing the necessary support for `boost::exception_ptr`.
|
||||||
|
|
||||||
|
```
|
||||||
|
#if defined( BOOST_NO_EXCEPTIONS )
|
||||||
|
|
||||||
|
BOOST_NORETURN void throw_exception( std::exception const & e,
|
||||||
|
boost::source_location const & loc ); // user defined
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
template<class E> BOOST_NORETURN void throw_exception( E const & e,
|
||||||
|
boost::source_location const & loc );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
```
|
||||||
|
|
||||||
|
Requires: :: `E` must have `std::exception` as a public and unambiguous base
|
||||||
|
class.
|
||||||
|
|
||||||
|
Effects: ::
|
||||||
|
* When exceptions aren't available, the function is declared, but
|
||||||
|
not defined. The user is expected to supply an appropriate definition.
|
||||||
|
* Otherwise, if `BOOST_EXCEPTION_DISABLE` is defined, the function
|
||||||
|
throws `e`.
|
||||||
|
* Otherwise, the function throws an object of a type derived from `E`,
|
||||||
|
derived from `boost::exception`, if `E` doesn't already derive from
|
||||||
|
it, and containing the necessary support for `boost::exception_ptr`. The
|
||||||
|
`boost::exception` base class is initialized to contain the source
|
||||||
|
location `loc`.
|
226
doc/reno.css
226
doc/reno.css
@ -1,226 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
|
|
||||||
*
|
|
||||||
* Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
||||||
* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
||||||
*/
|
|
||||||
|
|
||||||
body
|
|
||||||
{
|
|
||||||
font-family: Trebuchet, Verdana, Arial, Helvetica, Sans;
|
|
||||||
font-size: 10pt;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
background-color: #E5E5E5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.RenoPageList,
|
|
||||||
ol,
|
|
||||||
ul
|
|
||||||
{
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
|
|
||||||
.RenoPageList
|
|
||||||
{
|
|
||||||
margin:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1
|
|
||||||
{
|
|
||||||
font-size: 24pt;
|
|
||||||
clear: left;
|
|
||||||
padding-top: 5pt;
|
|
||||||
padding-bottom: 5pt;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2
|
|
||||||
{
|
|
||||||
font-size: 18pt;
|
|
||||||
clear: left;
|
|
||||||
padding-top: 20pt;
|
|
||||||
padding-bottom: 5pt;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
h3
|
|
||||||
{
|
|
||||||
font-size: 14pt;
|
|
||||||
clear: left;
|
|
||||||
padding-top: 15pt;
|
|
||||||
padding-bottom: 5pt;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4
|
|
||||||
{
|
|
||||||
font-size: 10pt;
|
|
||||||
float: left;
|
|
||||||
clear: left;
|
|
||||||
padding-top: 5pt;
|
|
||||||
padding-bottom: 0;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
margin-right: 4pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
p
|
|
||||||
{
|
|
||||||
font-size: 10pt;
|
|
||||||
padding-top: 5pt;
|
|
||||||
padding-bottom: 5pt;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
clear:right;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre
|
|
||||||
{
|
|
||||||
border-top: 1px solid #C5C5C5;
|
|
||||||
border-bottom: 1px solid #C5C5C5;
|
|
||||||
border-left: 1px solid #C5C5C5;
|
|
||||||
border-right: 1px solid #C5C5C5;
|
|
||||||
font-size: 10pt;
|
|
||||||
padding-top: 5pt;
|
|
||||||
padding-bottom: 5pt;
|
|
||||||
padding-left: 5pt;
|
|
||||||
padding-right: 5pt;
|
|
||||||
margin-left: 18pt;
|
|
||||||
margin-right: 18pt;
|
|
||||||
margin-top: 10pt;
|
|
||||||
margin-bottom: 10pt;
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
|
|
||||||
ol,ul
|
|
||||||
{
|
|
||||||
padding-top: 0;
|
|
||||||
padding-bottom: 0;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul li
|
|
||||||
{
|
|
||||||
padding-top: 5pt;
|
|
||||||
padding-bottom: 5pt;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.RenoIndex h3
|
|
||||||
{
|
|
||||||
margin: 20pt 0 5pt 0;
|
|
||||||
padding: 2pt;
|
|
||||||
display: inline;
|
|
||||||
border: 1.5pt solid #A0A0A0;
|
|
||||||
float: left;
|
|
||||||
clear: both;
|
|
||||||
width: 15pt;
|
|
||||||
text-align: center;
|
|
||||||
background-color: #EAEAEA;
|
|
||||||
}
|
|
||||||
|
|
||||||
.RenoIndex p
|
|
||||||
{
|
|
||||||
clear: both;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.RenoHookUnbound,
|
|
||||||
.RenoHookBound
|
|
||||||
{
|
|
||||||
background-position: left center;
|
|
||||||
background-image: url('link.gif');
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
padding-left: 10pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.RenoIncludeDIV
|
|
||||||
{
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.RenoError
|
|
||||||
{
|
|
||||||
background-color: red;
|
|
||||||
color: white;
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
|
|
||||||
a
|
|
||||||
{
|
|
||||||
text-decoration: underline;
|
|
||||||
color: #0000AA;
|
|
||||||
}
|
|
||||||
|
|
||||||
tt
|
|
||||||
{
|
|
||||||
font-size: 10pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
hr
|
|
||||||
{
|
|
||||||
border: 0;
|
|
||||||
color: black;
|
|
||||||
background-color: black;
|
|
||||||
height: 1px;
|
|
||||||
margin-top: 20pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
blockquote
|
|
||||||
{
|
|
||||||
padding-top: 0;
|
|
||||||
padding-bottom: 0;
|
|
||||||
padding-right: 0;
|
|
||||||
padding-left: 20pt;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#boost_logo
|
|
||||||
{
|
|
||||||
float:right;
|
|
||||||
}
|
|
||||||
|
|
||||||
#footer
|
|
||||||
{
|
|
||||||
margin-top:20pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.logo_pic
|
|
||||||
{
|
|
||||||
border:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.logo
|
|
||||||
{
|
|
||||||
float:right;
|
|
||||||
margin-left: 6pt;
|
|
||||||
margin-right: -4pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.body-0
|
|
||||||
{
|
|
||||||
min-width: 40em;
|
|
||||||
padding-left: 30px;
|
|
||||||
background: url(shade-l.png) repeat-y left;
|
|
||||||
}
|
|
||||||
.body-1
|
|
||||||
{
|
|
||||||
padding-right: 30px;
|
|
||||||
background: url(shade-r.png) repeat-y right;
|
|
||||||
}
|
|
||||||
.body-2
|
|
||||||
{
|
|
||||||
background-color: white;
|
|
||||||
padding: 0 8pt 0 8pt;
|
|
||||||
margin-left: 0;
|
|
||||||
border-top: solid 2.5pt #717171;
|
|
||||||
border-bottom: solid 3pt #717171;
|
|
||||||
}
|
|
@ -1,64 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
|
|
||||||
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
|
|
||||||
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
|
|
||||||
<title>throw_exception</title>
|
|
||||||
<link href='reno.css' type='text/css' rel='stylesheet'/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="body-0">
|
|
||||||
<div class="body-1">
|
|
||||||
<div class="body-2">
|
|
||||||
<div>
|
|
||||||
<div id="boost_logo">
|
|
||||||
<a href="http://www.boost.org"><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
|
|
||||||
</div>
|
|
||||||
<h1>Boost Exception</h1>
|
|
||||||
</div>
|
|
||||||
<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
|
|
||||||
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
|
|
||||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
|
||||||
<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>throw_exception</h3>
|
|
||||||
</div>
|
|
||||||
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink"><a href="boost_throw_exception_hpp.html">boost/throw_exception.hpp</a></span>></p>
|
|
||||||
<pre>namespace
|
|
||||||
boost
|
|
||||||
{
|
|
||||||
<span class="RenoIncludeSPAN">#ifdef BOOST_NO_EXCEPTIONS
|
|
||||||
void <span class="RenoLink">throw_exception</span>( std::exception const & e ); // user defined
|
|
||||||
#else
|
|
||||||
template <class E>
|
|
||||||
void <span class="RenoLink">throw_exception</span>( E const & e );
|
|
||||||
#endif</span>
|
|
||||||
}</pre>
|
|
||||||
</div><h4>Effects:</h4>
|
|
||||||
<div><ul><li> If BOOST_NO_EXCEPTIONS is not defined, boost::<span class="RenoLink">throw_exception</span>(e) throws an exception of unspecified type that derives publicly from E and from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.</li>
|
|
||||||
<li> If BOOST_NO_EXCEPTIONS is defined, the function is left undefined, and the user is expected to supply an appropriate definition. Callers of <span class="RenoLink">throw_exception</span> are allowed to assume that the function never returns; therefore, if the user-defined <span class="RenoLink">throw_exception</span> returns, the behavior is undefined.</li>
|
|
||||||
</ul></div>
|
|
||||||
<h4>Requirements:</h4>
|
|
||||||
<p>E must derive publicly from std::exception. E may or may not derive from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.</p>
|
|
||||||
<h4>Notes:</h4>
|
|
||||||
<div><ul><li> The emitted exception can be intercepted as E &, std::exception &, or boost::exception &.</li>
|
|
||||||
<li> The emitted exception supports boost::<span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span>.</li>
|
|
||||||
<li> If BOOST_EXCEPTION_DISABLE is defined and BOOST_NO_EXCEPTIONS is not defined, boost::<span class="RenoLink">throw_exception</span>(e) equivalent to throw e.</li>
|
|
||||||
</ul></div>
|
|
||||||
</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
|
|
||||||
See also: <span class="RenoPageList"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a> | <a href="boost-exception.html">Boost Exception</a> | <a href="boost_throw_exception_hpp.html">boost/throw_exception.hpp</a> | <a href="configuration_macros.html">Configuration Macros</a> | <a href="enable_current_exception.html">enable_current_exception</a> | <a href="frequently_asked_questions.html">Frequently Asked Questions</a> | <a href="tutorial_exception_ptr.html">Transporting of Exceptions Between Threads</a></span>
|
|
||||||
</div>
|
|
||||||
<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
|
|
||||||
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
|
|
||||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
|
||||||
<div id="footer">
|
|
||||||
<p>
|
|
||||||
<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
|
|
||||||
<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
|
|
||||||
<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
|
|
||||||
Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt">Boost Software License, Version 1.0</a>.</small>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Binary file not shown.
Before Width: | Height: | Size: 5.0 KiB |
Binary file not shown.
Before Width: | Height: | Size: 5.7 KiB |
@ -1,13 +1,13 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv=refresh content="0; URL=../exception/doc/boost_throw_exception_hpp.html">
|
<meta http-equiv=refresh content="0; URL=doc/html/throw_exception.html">
|
||||||
<title>Automatic redirection</title>
|
<title>Automatic redirection</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
Automatic redirection failed, please go to
|
Automatic redirection failed, please go to
|
||||||
<a href="../exception/doc/boost_throw_exception_hpp.html">boost_throw_exception_hpp.html</a>. <hr>
|
<a href="doc/html/throw_exception.html">throw_exception.html</a>. <hr>
|
||||||
<p>© Copyright Beman Dawes, 2001</p>
|
<p>Copyright Beman Dawes, 2001</p>
|
||||||
<p>Distributed under the Boost Software License, Version 1.0. (See accompanying
|
<p>Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
file <a href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
|
file <a href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
|
||||||
at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
|
at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
|
||||||
|
Reference in New Issue
Block a user