Boost logo

Boost Users :

From: David Abrahams (dave_at_[hidden])
Date: 2004-08-24 02:39:54


"Victor A. Wagner Jr." <vawjr_at_[hidden]> writes:

> At Monday 2004-08-23 13:55, you wrote:
>>Jeff Holle <jeff.holle_at_[hidden]> writes:
>>
>> > My two cents of the referenced html page.
>> >
>> > Not placing attributes like string into an exception class only makes
>> > sense if the exception being thrown has
>> > something to do with a memory starvation situation.
>> >
>> > For a lot of exception types that I can think of this is not the case.
>> >
>> > As an example of this std::runtime_error often has a string attribute
>> > and this is perfectly fine.
>>
>>No it is not. Even if you aren't throwing due to memory starvation,
>>you could run out of memory during unwinding, when the exception is
>>copied. That leads you directly to terminate(). Do not pass Go; do
>>not collect $200.
>
> why would unwinding copy the exception?

Because the language specification says it can.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net