2008-06-28 18:29:40 +00:00
< !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' / >
2008-07-16 21:03:14 +00:00
< title > diagnostic information< / title >
2008-06-28 18:29:40 +00:00
< 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" >
2009-05-16 13:45:21 +00:00
< a href = "http://www.boost.org" > < img style = "border:0" src = "../../../boost.png" alt = "Boost" width = "277" height = "86" / > < / a >
2008-06-28 18:29:40 +00:00
< / div >
< h1 > Boost Exception< / h1 >
< / div >
2009-04-02 05:04:38 +00:00
<!-- Copyright (c) 2006 - 2009 Emil Dotchevski and Reverge Studios, Inc. -->
2008-06-28 18:29:40 +00:00
<!-- 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) -->
2008-07-16 21:03:14 +00:00
< div class = "RenoIncludeDIV" > < div class = "RenoAutoDIV" > < h2 > Diagnostic Information< / h2 >
2008-07-09 00:39:00 +00:00
< / div >
2008-09-19 20:29:26 +00:00
< p > Boost Exception provides a namespace-scope function < span class = "RenoLink" > < a href = "diagnostic_information.html" > diagnostic_information< / a > < / span > which takes a boost::< span class = "RenoLink" > < a href = "exception.html" > exception< / a > < / span > . The returned string contains:< / p >
< div > < ul > < li > the string representation of all data objects added to the boost::< span class = "RenoLink" > < a href = "exception.html" > exception< / a > < / span > through < span class = "RenoLink" > < a href = "exception_operator_shl.html" > operator< < < / a > < / span > ;< / li >
< li > the output from std::exception::what;< / li >
< li > additional platform-specific diagnostic information.< / li >
< / ul > < / div >
< p > The returned string is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example:< / p >
2009-07-22 20:55:50 +00:00
< pre > #include < < span class = "RenoLink" > < a href = "boost_exception_all_hpp.html" > boost/exception/all.hpp< / a > < / span > >
2008-06-28 18:29:40 +00:00
#include < iostream>
void f(); //throws unknown types that derive from boost::< span class = "RenoLink" > < a href = "exception.html" > exception< / a > < / span > .
void
g()
{
try
{
f();
}
catch(
boost::< span class = "RenoLink" > < a href = "exception.html" > exception< / a > < / span > & e )
{
2008-09-19 20:29:26 +00:00
std::cerr < < < span class = "RenoLink" > < a href = "diagnostic_information.html" > diagnostic_information< / a > < / span > (e);
2008-06-28 18:29:40 +00:00
}
}< / pre >
2009-01-12 16:45:11 +00:00
< div class = "RenoIncludeDIV" > < h4 > Example:< / h4 >
< p > this is a possible output from the < span class = "RenoLink" > < a href = "diagnostic_information.html" > diagnostic_information< / a > < / span > function, as used in < i > libs/exception/example/example_io.cpp:< / i > < / p >
2009-07-22 20:55:50 +00:00
< pre > example_io.cpp(70): Throw in function class boost::shared_ptr< struct _iobuf> __cdecl my_fopen(const char *,const char *)
Dynamic exception type: class boost::exception_detail::clone_impl< struct fopen_error>
2009-01-12 16:45:11 +00:00
std::exception::what: example_io error
2009-07-22 20:55:50 +00:00
[struct boost::< span class = "RenoLink" > < a href = "errinfo_api_function.html" > errinfo_api_function< / a > < / span > _ *] = fopen
[struct boost::< span class = "RenoLink" > < a href = "errinfo_errno.html" > errinfo_errno< / a > < / span > _ *] = 2, "No such file or directory"
[struct boost::< span class = "RenoLink" > < a href = "errinfo_file_name.html" > errinfo_file_name< / a > < / span > _ *] = tmp1.txt
[struct boost::< span class = "RenoLink" > < a href = "errinfo_file_open_mode.html" > errinfo_file_open_mode< / a > < / span > _ *] = rb< / pre >
2009-01-12 16:45:11 +00:00
< / div > < / div > < div class = "RenoAutoDIV" > < div class = "RenoHR" > < hr / > < / div >
2009-10-22 07:14:09 +00:00
See also: < span class = "RenoPageList" > < a href = "boost-exception.html" > Boost Exception< / a > < / span >
2008-07-09 00:39:00 +00:00
< / div >
2009-04-02 05:04:38 +00:00
<!-- Copyright (c) 2006 - 2009 Emil Dotchevski and Reverge Studios, Inc. -->
2008-06-28 18:29:40 +00:00
<!-- 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 >
2009-03-29 05:04:54 +00:00
< 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 >
2008-06-28 18:29:40 +00:00
< 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 >
2009-04-02 05:04:38 +00:00
< small > Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.< br / >
2008-06-28 18:29:40 +00:00
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 >