
From: Vladimir Prus I fail to see how the above refutes my statement. We don't have a requirement that Boost libraries work with non-conforming environment. Nor is it required that any Boost library uses Boost.Exception.
Therefore, adding no-exceptions to inspect checks -- whose primary purpose is to beat authors whose libraries fail those checks -- would be wrong.
I feel that there may be some misunderstanding regarding the motivation behind BOOST_THROW_EXCEPTION Inspect check in this thread. First of all, Inspect is for checking "official" Boost guidelines. BOOST_THROW_EXCEPTION is obviously not such a guideline yet. What I'm proposing is that: 1. we add using BOOST_THROW_EXCEPTION as a guideline, 2. we add a check for this guideline to Inspect. In the context of guidelines, preferring BOOST_THROW_EXCEPTION over plain throw is NOT about supporting BOOST_NO_EXEPTIONS platforms. Of course, if try/catch/throw are not used in the code, you get this ability for free as a bonus. That's nice too, but that's not the main point. The points are already explained by Emil and me: - automatic attachment of throw site information (file/line/function), letting you guess what went wrong at a glimpse without even needing to attach debugger in some cases, - enabling mechanism for attaching extra information via boost::error_info and building verbose error descriptions using this information by boost::diagnostic_information, - enabling transfer of exceptions between threads, - providing global customisation point of exception-throwing behaviour, just like BOOST_ASSERT does for the assert macro. Best regards, Robert