
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of David Abrahams
There are better ways. Boost.Python uses a dynamic registration technique.
Do you think that this technique could be factored out to solve the problem with threads? Another problem I've had to deal with is propagating exceptions through windows message handlers.
Compile-time enumeration of the exceptions is overkill and not sufficiently flexible.
If anything I'd say compile-time enumerations is underkill. Typically I'd only be interested in one or two types of exceptions and something like this: run_and_throw<my_lib::socket_error, std::exception>(f); Or maybe something like lambda::try_catch seems much simpler than anything involving dynamic registration. On the other hand, I agree that it's not as flexible. Are you referring to the problem with splicing in particular? Brock