Do all boost exceptions derive from std::exception? If not do they all derive from some base exception class?
I believe so. Can't think of a boost library throwing something non-std::exception based.
according to this( http://www.boost.org/doc/libs/1_37_0/libs/exception/doc/exception_exception_hpp.html) however it seems not
this link on the boost web site further explains how to correctly use std::exception and boost::exception
A "good Boost citizen" library should throw using boost::throw_exception, in order to support configurations where exception handling is disabled.
The boost::throw_exception function requires that the type of the passed exception derives publicly from std::exception (as of version 1.37.0 or thereabouts boost::throw_exception will issue a compile error if that requirement is not met.) In addition and by default, exceptions emitted using boost::throw_exception derive from boost::exception.
However, there is no requirement for Boost libraries to throw exceptions through boost:throw_exception or to derive from std::exception.