
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of David Abrahams
No, I'm referring to the great deal of compile-time machinery needed to generate a structure which can ultimately be done nearly as efficiently at runtime.
I'm not concerned about efficiency so much as ease of use. How do you register an exception class? Does it have to be derived from a base class in the library?
Generally if you have a bunch of interacting libraries it makes sense for each one to be able to register its exception serializers/deserializers/translators or whatever. Why should the thread invoker have to enumerate the possibilities each time?
The invoker could store often used lists in typedefs. They could easily add or remove exceptions from these. I agree that it could be messy and hard on the compiler for larger lists. Personally I've never been interested in more than one or two types of exceptions at a time though.