Chris Frey wrote:
Quote:
This would introduce
multiple inheritance into the exception hierarchy if we wanted to
keep a common mysqlpp::Exception base class, |
The only purpose for that class is to allow someone to catch all MySQL++
exceptions in a single catch block. In documenting this change, I've
also been conflating the advantages from deriving from std::exception,
which provides a consistent interface to all exceptions. So while you
don't lose out on the latter with your proposal, you do make it more
difficult to separate the MySQL++ exceptions from C++ library exceptions.
This isn't a small concern. I know you know that MySQL++ can trigger
library exceptions, such as through vector::at(). One problem I have
with these exceptions is that -- at least with current Linux standard
C++ libraries -- the what() method just returns the name of the class
that threw it. MySQL++ exceptions have much more useful what()'s, which
can be sent directly to error logs and such. Therefore, it's likely
that real programs will treat these types of exceptions differently.
Now, if you wanted to argue in favor of adding another layer just under
Exception, parallel to the division in the Standard Library, I could be
persuaded...
--
MySQL++ Mailing List
For list archives: http://lists.mysql.com/plusplus
To unsubscribe: http://lists.mysql.com/plusplus?unsu...ie.nctu.edu.tw