Boost logo

Boost :

From: Alexander Terekhov (terekhov_at_[hidden])
Date: 2003-10-08 18:41:49

David Abrahams wrote:
> We all agree that termination is appropriate when an invariant is
> broken. What we don't agree on is the ability of outer-level calls to
> determine that an invariant is broken based on the type of exception
> thrown from an inner-level call. I believe that goes to the heart of
> my objections to ESes.


          Consider the following example (only slightly contrived).

          X get(int i) throw(out_of_range);
          int find(X& x) throw()
            for (int i = 0; i < size(); ++i) {
              if (x == get(i)) return i;
            return -1;


          Maybe the programmer knows that the function will never be
          called, or that the path containing the throw statement will
          never be executed.
</quote> |
.. if nothing goes wrong! --+


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