Home | Libraries | People | FAQ | More |
The header <boost/core/no_exceptions_support.hpp>
defines macros for use in code that needs to be portable to environments
that do not have support for C++ exceptions.
#define BOOST_TRY /*unspecified*/ #define BOOST_CATCH(x) /*unspecified*/ #define BOOST_CATCH_END /*unspecified*/ #define BOOST_RETHROW /*unspecified*/
void foo() { BOOST_TRY { ... } BOOST_CATCH(const std::bad_alloc&) { ... BOOST_RETHROW } BOOST_CATCH(const std::exception& e) { ... } BOOST_CATCH_END }
With exception support enabled it will expand into:
void foo() { { try { ... } catch (const std::bad_alloc&) { ... throw; } catch (const std::exception& e) { ... } } }
With exception support disabled it will expand into:
void foo() { { if(true) { ... } else if (false) { ... } else if (false) { ... } } }