
At Monday 2004-02-09 10:57, you wrote:
Victor wrote:
At Monday 2004-02-09 07:56, you wrote:
"Victor A. Wagner, Jr." <vawjr@rudbek.com> writes:
Of course you cannot portably pass all exceptions, but you may be able to pass all the ones that use standard types.
And what if the std library or somebody else throws exceptions *derived* from the standard types?
I guess I should have said _are_ standard types
Or, at least _are_ in the sense of being equivalent under slicing...
We can either do nothing (until the standard changes so we can handle ALL types) or we can do something (handle the built-in types and the standard exceptions).
I suggest "something" as a useful approach.
Whimsical idea: could we use type lists, so we could instantiate a thread starter template with the list of exceptions it should wrap, and get slicing semantics into the calling context? All other exceptions would fall through, but then the user can enumerate the "most possible" exceptions.
my recollection of writing the handlers we did write was that we had to be quite careful about the order in which we did the catch phrases. But I sort of remember Andrei having a way of mutating a type list such that they were in such an order (wasn't that one of his algorithms in the book?) I'd love to _learn_ how to do such a thing.
/David
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Victor A. Wagner Jr. http://rudbek.com The five most dangerous words in the English language: "There oughta be a law"