Boost logo

Boost :

From: Victor A. Wagner, Jr. (vawjr_at_[hidden])
Date: 2004-02-10 00:42:48

At Monday 2004-02-09 14:19, you wrote:
>Stefan Seefeld <seefeld_at_[hidden]> writes:
> > Glen Knowles wrote:
> >> From: David Abrahams [mailto:dave_at_[hidden]]
> >> >> 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?
> >> If it is not a recognized corba exception what the ACE TAO does is
> >> eat it with a catch(...) and then throws a corba system exception on
> >> the other side.
> >
> >
> > yes, so all exceptions that are allowed to pass have to be explicitely
> > declared
> > as such. If it is not declared, a special standard exception will be
> > thrown (or may be something equivalent to 'unexpected'). If it is
> > derived from a declared one, it will be sliced.
>Is everyone convinced that propagating the exception into the joining
>thread is the right behavior or even semantically sensible?

I consider it equivalent to the asking for the results of a function whose
execution was delayed.
Most people only consider marshalling, dispatching, and results as a
single step in which exceptions clearly make sense. I don't see the big
difference when we split them up into different pieces. I further don't
see a big distinction between the above and beginning a thread and
join()ing it.

>Dave Abrahams
>Boost Consulting
>Unsubscribe & other changes:

Victor A. Wagner Jr.
The five most dangerous words in the English language:
               "There oughta be a law"

Boost list run by bdawes at, gregod at, cpdaniel at, john at