1 <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML
1.0 Strict//EN'
2 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'
>
3 <html xmlns='http://www.w3.org/
1999/xhtml' xml:lang='en' lang='en'
>
5 <meta http-equiv='Content-Type' content='text/html; charset=utf-
8'
/>
6 <title>error_info
</title>
7 <link href='reno.css' type='text/css' rel='stylesheet'
/>
15 <a href=
"http://www.boost.org"><img style=
"border:0" src=
"../../../boost.png" alt=
"Boost" width=
"277" height=
"86"/></a>
17 <h1>Boost Exception
</h1>
19 <!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
20 <!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
21 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
22 <div class=
"RenoIncludeDIV"><div class=
"RenoAutoDIV"><h3>error_info
</h3>
24 <div class=
"RenoIncludeDIV"><p><span class=
"RenoEscape">#<!--<wiki>`#</wiki>--></span>include
<<span class=
"RenoLink"><a href=
"boost_exception_info_hpp.html">boost/exception/info.hpp
</a></span>></p>
28 <span class=
"RenoIncludeSPAN"> template
<class Tag,class T
>
30 <span class=
"RenoLink">error_info
</span>
34 <span class=
"RenoIncludeSPAN"> typedef T
<span class=
"RenoLink"><a href=
"error_info_value_type.html">value_type
</a></span>;
</span>
36 <span class=
"RenoIncludeSPAN"> <span class=
"RenoLink"><a href=
"error_info_error_info.html">error_info
</a></span>(
<span class=
"RenoLink"><a href=
"error_info_value_type.html">value_type
</a></span> const
& v );
</span>
37 <span class=
"RenoIncludeSPAN"> <span class=
"RenoLink"><a href=
"error_info_value_type.html">value_type
</a></span> const
& <span class=
"RenoLink"><a href=
"error_info_value.html">value
</a></span>() const;
38 <span class=
"RenoLink"><a href=
"error_info_value_type.html">value_type
</a></span> & <span class=
"RenoLink"><a href=
"error_info_value.html">value
</a></span>();
</span>
41 </div><h4>Requirements:
</h4>
42 <p>T must have accessible copy constructor and must not be a reference (there is no requirement that T's copy constructor does not throw.)
</p>
44 <p>This class template is used to associate a Tag type with a value type T. Objects of type
<span class=
"RenoLink">error_info
</span><Tag,T
> can be passed to
<span class=
"RenoLink"><a href=
"exception_operator_shl.html">operator
<<</a></span> to be stored in objects of type boost::
<span class=
"RenoLink"><a href=
"exception.html">exception
</a></span>.
</p>
46 <p>The header
<<span class=
"RenoLink"><a href=
"boost_exception_error_info_hpp.html">boost/exception/error_info.hpp
</a></span>> provides a declaration of the
<span class=
"RenoLink">error_info
</span> template, which is sufficient for the purpose of typedefing an instance for specific Tag and T, for example:
</p>
47 <pre>#include
<<span class=
"RenoLink"><a href=
"boost_exception_error_info_hpp.html">boost/exception/error_info.hpp
</a></span>>
50 typedef boost::
<span class=
"RenoLink">error_info
</span><tag_errno,int
> errno_info;
</pre>
51 <p>Or, the shorter equivalent:
</p>
52 <pre>#include
<<span class=
"RenoLink"><a href=
"boost_exception_error_info_hpp.html">boost/exception/error_info.hpp
</a></span>>
54 typedef boost::
<span class=
"RenoLink">error_info
</span><struct tag_errno,int
> errno_info;
</pre>
55 <p>This errno_info typedef can be passed to
<span class=
"RenoLink"><a href=
"exception_operator_shl.html">operator
<<</a></span> (#include
<<span class=
"RenoLink"><a href=
"boost_exception_info_hpp.html">boost/exception/info.hpp
</a></span>> first) to store an int named tag_errno in exceptions of types that derive from boost::
<span class=
"RenoLink"><a href=
"exception.html">exception
</a></span>:
</p>
56 <pre>throw file_read_error()
<span class=
"RenoLink"><a href=
"exception_operator_shl.html"><<</a></span> errno_info(errno);
</pre>
57 <p>It can also be passed to
<span class=
"RenoLink"><a href=
"get_error_info.html">get_error_info
</a></span> (#include
<<span class=
"RenoLink"><a href=
"boost_exception_get_error_info_hpp.html">boost/exception/get_error_info.hpp
</a></span>> first) to retrieve the tag_errno int from a boost::
<span class=
"RenoLink"><a href=
"exception.html">exception
</a></span>:
</p>
58 <pre>catch( boost::
<span class=
"RenoLink"><a href=
"exception.html">exception
</a></span> & x )
60 if( int const * e=boost::
<span class=
"RenoLink"><a href=
"get_error_info.html">get_error_info
</a></span><errno_info
>(x) )
63 <p>For convenience and uniformity, Boost Exception defines the following commonly used
<span class=
"RenoLink">error_info
</span> typedefs, ready for use with
<span class=
"RenoLink"><a href=
"exception_operator_shl.html">operator
<<</a></span>:
</p>
64 <div class=
"RenoPageList"><a href=
"errinfo_api_function.html">errinfo_api_function
</a><br/>
65 <a href=
"errinfo_at_line.html">errinfo_at_line
</a><br/>
66 <a href=
"errinfo_errno.html">errinfo_errno
</a><br/>
67 <a href=
"errinfo_file_handle.html">errinfo_file_handle
</a><br/>
68 <a href=
"errinfo_file_name.html">errinfo_file_name
</a><br/>
69 <a href=
"errinfo_file_open_mode.html">errinfo_file_open_mode
</a><br/>
70 <a href=
"errinfo_nested_exception.html">errinfo_nested_exception
</a><br/>
71 <a href=
"errinfo_type_info_name.html">errinfo_type_info_name
</a></div>
72 </div><div class=
"RenoAutoDIV"><div class=
"RenoHR"><hr/></div>
73 See also:
<span class=
"RenoPageList"><a href=
"boost-exception.html">Boost Exception
</a> |
<a href=
"boost_exception_error_info_hpp.html">boost/exception/error_info.hpp
</a> |
<a href=
"boost_exception_exception_hpp.html">boost/exception/exception.hpp
</a> |
<a href=
"boost_exception_info_hpp.html">boost/exception/info.hpp
</a> |
<a href=
"diagnostic_information.html">diagnostic_information
</a> |
<a href=
"diagnostic_information_what.html">diagnostic_information_what
</a> |
<a href=
"error_info_error_info.html">error_info::error_info
</a> |
<a href=
"error_info_value.html">error_info::value
</a> |
<a href=
"error_info_value_type.html">error_info::value_type
</a> |
<a href=
"exception.html">exception
</a> |
<a href=
"exception_operator_shl.html">exception/operator
<<</a> |
<a href=
"exception_ptr.html">exception_ptr
</a> |
<a href=
"frequently_asked_questions.html">Frequently Asked Questions
</a> |
<a href=
"get_error_info.html">get_error_info
</a> |
<a href=
"tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies
</a> |
<a href=
"motivation.html">Motivation
</a> |
<a href=
"original_exception_type.html">original_exception_type
</a> |
<a href=
"tuple_operator_shl.html">tuple/operator
<<</a></span>
75 <!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
76 <!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
77 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
80 <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>
81 <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>
82 <small>Copyright (c)
2006-
2009 by Emil Dotchevski and Reverge Studios, Inc.
<br/>
83 Distributed under the
<a href=
"http://www.boost.org/LICENSE_1_0.txt">Boost Software License, Version
1.0</a>.
</small>