Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-09-13 08:16:25

From: "Kresimir Fresl" <fresl_at_[hidden]>
> Toon Knapen wrote:
> > the bounds checking mechanism throws an exception instead of performing
> > assert. But I have no clue how I can ask my debugger where the exception
> > thrown so I would prefer an assert() to be used. In the debugger, it's
> > easy to perform a stack_trace.
> Did you try to define BOOST_NO_EXCEPTIONS ?
> raise() functions of all exception classes in `ublas/exception.hpp'
> are defined as:
> virtual void raise () {
> throw *this;
> #else
> abort ();
> #endif
> }

This should probably just call boost::throw_exception(*this), allowing
BOOST_NO_EXCEPTIONS users to handle the exception.

Also, I agree that BOOST_UBLAS_CHECK should just assert (by default). It's
OK to provide a "throw exception" option, of course; even so, throwing an
exception only in debug builds seems very odd. The usual practice (for those
that embrace "logic error" exceptions - I don't) is to throw an exception in
release builds, and assert in debug builds.

Boost list run by bdawes at, gregod at, cpdaniel at, john at