Boost logo

Boost :

From: Eric Woodruff (Eric.Woodruff_at_[hidden])
Date: 2002-08-13 13:07:45


Of course order matters. I caught them in the order specified in the list.
  ----- Original Message -----
  From: David Abrahams
  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_at_[hidden]>
  To: <boost_at_[hidden]>
  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_at_[hidden]>
> > > 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_at_[hidden] * http://www.boost-consulting.com

  _______________________________________________
  Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost



Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk