[boost] [exception] boost::throw_exception vs deriving from boost::exception