Boost logo

Boost :

From: Martin Bonner (Martin.Bonner_at_[hidden])
Date: 2007-03-23 14:08:03


John Maddock wrote:
 
>Mathias Gaunard wrote:
>> Marco wrote:
>>
>>> (4) decide if we have to use exception handling C++ constructs for
>>> arithmetic exceptions ( divide by zero, etc) or simply abort the
>>> program; this is essentially a matter of performance;
>>
>> I didn't know aborting the program was more efficient than throwing an
>> exception.
>
>It's not. Or at least efficiency is irrelevant once the program is dead :-)
>
>> Why not just invoke undefined behaviour if that allows the best
>> efficiency?
>
>Why not throw an exception? Any overhead only occurs when an error has
>actually happened, not on every operation.
Not quite. See below.
> Or even better:
>
>if(error_condition)
That is where the potential for additional overhead occurs. Now, how /serious/ it is, is an /entirely/ different matter. Obviously, it depends how much work it takes to calculate "error_condition", and how tight a loop we are in.
> customisable_error_handler(information_about_error);
>
>And give the user a chance to decide what happens.

-- 
Martin Bonner



Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk