----- Original Message -----
Newsgroups:
gmane.comp.lib.boost.devel
Sent: Tuesday, 2002:August:13 1:32
PM
Subject: Re: Attempting resolution of
Threads & Exceptions Issue
----- Original Message -----
From: "Victor A. Wagner,
Jr." <vawjr@rudbek.com>
To:
<boost@lists.boost.org>
Sent:
Tuesday, August 13, 2002 1:43 PM
Subject: Re: [boost] Attempting resolution
of Threads & Exceptions Issue
> At Tuesday 2002/08/13 05:09,
you wrote:
> >From: "Victor A. Wagner, Jr." <vawjr@rudbek.com>
> > > At
Monday 2002/08/12 14:22, you wrote:
> > > >Dale wrote:
>
> > >
> > > > >1) thread<void> threads call
terminate(), thread<XXX> threads
> >propogate the
> >
> > >exception when join is called.
> > > >
>
> > >Propogating an exception in an different thread context than
it
started
> > > >in (different stack, specifically) is a
hard, if not impossible,
> >problem.
> > >
> >
> it seems trivial to me, providing that you can accurately asses
what
the
> > > exception is!
> >
> >Aye,
there's the rub. You can't "accurately asses what the
exception
is",
> >since EH will catch base classes and in general
there's no way to
recover
> >the most-derived class, even when
catching by [const] reference.
>
> if you know, a priori, the set
of possible exceptions, you can recover
them.
Even that's not
enough; you need to know the order in which to look for
them:
try {
something(); }
catch(std::exception) {
std::cout
<< "x";
}
catch(std::bad_alloc) {
std::cout
<< "y";
}
Never prints
"y".
-----------------------------------------------------------
David Abrahams * Boost Consulting
dave@boost-consulting.com * http://www.boost-consulting.com
_______________________________________________
Unsubscribe
& other changes: http://lists.boost.org/mailman/listinfo.cgi/boost