Boost logo

Boost :

From: Alexander Nasonov (alnsn_at_[hidden])
Date: 2007-10-22 12:49:10


I don't know if review manager still accepts reviews as review period
is over but I'd like to share my ideas with others.

I'm very interested in this library but I don't think that this version
is good enough for inclusion into boost.

As already pointed out by many people, library name is misleading.
I'd expect from a library named Boost.exception that:

- it provides functionality missing in std::exception (clone is one example),
- it recommends deriving all boost exception classes from boost::exception and
- wrapping standard exceptions with correspondent boost exceptions in
boost::throw_exception.

The library doesn't have enough features to cover problem domain or they are
not well documented.
Example shows how to attach additionaly information to FILE but it would be
much better to demonstrate how information is added at each layer and then
presented to end user. One example is RDBMS where some exception is raised
at OS layer (e.g. file system full), then caught at db storage layer,
rethown, then caught at higher layere up to SQL layer where it's nicely
presented and send to a user.

This case should cover tags associated with layers. Other important case
is stacking up information as an exception is being processed. Stack trace
is a good example.

Also, it should be clear how library handle bad_alloc. In some situations,
it's fine to rethrown bad_alloc instead of original exception but more fine
tuned behavior is require in other situations. One example is stop adding
info to a stack and just count all not added stack entries.

Sorry for not very well detailed review and for being too late. I was
hoping to find time and think thoroughly about interface but I couldn't
find enough time.

--
Alexander

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