$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Joerg Walter (jhr.walter_at_[hidden])
Date: 2002-09-30 15:23:48
----- Original Message -----
From: "Toon Knapen" <toon.knapen_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Friday, September 13, 2002 10:22 AM
Subject: Re: [boost] UBLAS_CHECK
> On Friday 13 September 2002 09:38, Kresimir Fresl wrote:
> > Toon Knapen wrote:
> > > the bounds checking mechanism throws an exception instead of
performing
> > > an assert. But I have no clue how I can ask my debugger where the
> > > exception was thrown so I would prefer an assert() to be used. In the
> > > debugger, it's then easy to perform a stack_trace.
> >
> > Did you try to define BOOST_NO_EXCEPTIONS ?
>
> This indeed would give me the behaviour I want as also redefining throw
with
> a macro (as Peter suggested).
>
> Setting BOOST_NO_EXCEPTIONS however (which changes the semantics of the
> program) just for catching my out-of-bounds-error is a little drastic.
> It does indeed abort on the out-of-bouds error but the rest of my code
that
> might rely on exceptions also changes and thus is not an optimal solution.
>
> Using the macro as Peter suggested also has this global effect (changes
the
> behaviour of _all_ exceptions) and I always get uncomfortable with macros.
>
> Therefor my suggestion to just put an assert() just before the throw
point.
> Both in debug mode and release mode it exactly does what I want, provide
me a
> stack-trace in debug mode and throw an exception in release mode while not
> affecting any other part of the program.
But in release mode it's usually not affordable to enable bounds check and
the like.
Regards
Joerg