<p>The first macro prevents Boost Exception from using dynamic_cast and dynamic typeid. If the second macro is also defined, Boost Exception does not use static typeid either. There are no observable degrading effects on the library functionality, except for the following:</p>
<blockquote><p>By default, the <spanclass="RenoLink"><ahref="get_error_info.html">get_error_info</a></span> function template can be called with any exception type. If BOOST_NO_RTTI is defined, <spanclass="RenoLink"><ahref="get_error_info.html">get_error_info</a></span> can be used only with objects of type boost::<spanclass="RenoLink"><ahref="exception.html">exception</a></span>.</p></blockquote>
<p><b>BOOST_EXCEPTION_DISABLE</b></p>
<p>By default, <spanclass="RenoLink"><ahref="enable_current_exception.html">enable_current_exception</a></span> and <spanclass="RenoLink"><ahref="enable_error_info.html">enable_error_info</a></span> are integrated directly in the <spanclass="RenoLink"><ahref="throw_exception.html">throw_exception</a></span> function. Defining BOOST_EXCEPTION_DISABLE disables this integration.</p>
<p>Note that on some non-conformant compilers, for example MSVC 7.0 and older, as well as BCC, BOOST_EXCEPTION_DISABLE is implicitly defined in <spanclass="RenoLink"><ahref="throw_exception_hpp.html">boost/throw_exception.hpp</a></span>.</p>