Boost logo

Boost :

From: Jesse Jones (jesjones_at_[hidden])
Date: 2001-03-15 20:33:01


That's true. In fact I have such a function. I call it ASSERT. :-)

  -- Jesse

>That cost can be handled by writing a dedicated function for throwing a
>particular exception type, and calling that function instead of throwing
>directly each time.
>
>-Dave
>
>----- Original Message -----
>From: "Jesse Jones" <jesjones_at_[hidden]>
>
>I think exceptions are more expensive than you realize. For example, I just
>disassembled a simple function in release with CodeWarrior 6. It comes out
>to 44 bytes. If I add a line that reads "if (!block) throw
>std::logic_error("bad param");" it balloons to 192 bytes (not counting the
>extra space needed for the string literal). If I add a second line that
>reads "if (block) throw std::logic_error("bad param2");" it grows to 308
>bytes. This is not a pretty picture, especially if you use asserts heavily
>as I do.


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