Hello Tobias,

great that the review period was extended, since today is my first day I am back from vacation. I use this library in my project since 6 months and find it extemely useful and I really like the great flexibility this library gave me in my current project.

I would like to answer to the proposed review questions:

* What is your evaluation of the design?
The design is very straight forward and I got very quickly familiar with it. I also found the library extremely flexible.

* What is your evaluation of the implementation?
I did not exactly look into the implementation

* What is your evaluation of the documentation?
The documentation is good, but I did not immediately understand the point of the library. For me it was a bit difficult to understand the library at the beginning, when it immediately introduced in the example some new classes like error_info and derivation of my exception from std::exception and boost::exception. I think it would be more explanatory to put some abstract example into the introduction, which explains the aim of the library (not only words) like:

void function_which_throws(std::string const& some_param)
{
    if(some_param.empty())
        throw my_exception << "empty string is not allowed";
   
    if(some_param.size()<10)
        throw my_exception << "some_param's length can not exceed" << 10;
}

Afterwords, there should be an explanation, that this is not easy to implement with arbitrary objects and there should be some helper classes, which can produce this generic behavior. Later on a description, that this generic functionality can be easily achieved using some helper classes, mainly: boost::exception and boost::error_info. And then a Basic Usage section. It can also be useful to link to the following DDJ article, which I found useful: http://www.ddj.com/cpp/197003350

* What is your evaluation of the potential usefulness of the library?
As already stated I use it for about 6 months in my current project and I am extremely happy to have this lib!

* Did you try to use the library? With what compiler?
Visual C++ 8 and gcc 3.4.4

Did you have any problems?
No

* How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
A lot. In-depth study, without source code review.

* Are you knowledgeable about the problem domain?
Yes.

And finally, every review should answer this question:

* Do you think the library should be accepted as a Boost library?
Yes. I love it, but I would like to propse some addition to the current functionality:
 - On some systems it is possible to make stack traces. This can extremely ease the debugging and error lookup if this feature would be integrated into the lib in terms of conditional compilation.

On 10/12/07, Tobias Schwinger <tschwinger@isonews2.com> wrote:
The review period of the proposed Exception library has been extended
until October 20th.



Although several people seemed interested in the submission, we only
have two votes, so far. So we really need more votes.

Further, I'm concerned about some potential issues, which I wouldn't
want to bless into Boost without being sure there has been a thorough
investigation (see below).

So, I want to encourage you to evaluate the submission, in particular
regarding the following questions:



1. Should the library be accepted as a Boost library? For a guideline on
what to include in your evaluation see

     http://www.boost.org/more/formal_review_process.htm


2. Is the design of the 'enable_error_info' function (see
http://www.revergestudios.com/boost-exception/boost-exception.htm#existing_hierarchies
and
http://www.revergestudios.com/boost-exception/boost-exception.htm#enable_error_info
), using multiple inheritance, really sound?


3. Does the current implementation use appropriate data structures?



We are looking forward to your reviews!


Regards,

Tobias Schwinger
- Review Manager -

_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users