Boost logo

Boost :

From: William E. Kempf (wekempf_at_[hidden])
Date: 2003-01-09 15:32:06


> From: "William E. Kempf" <wekempf_at_[hidden]>
> > From: "Stefano Delli Ponti" <stefano.delliponti_at_[hidden]>
> > From: "William E. Kempf" <wekempf_at_[hidden]>
> > > > From: "Stefano Delli Ponti" <stefano.delliponti_at_[hidden]>
> > > > From: "David Abrahams" <dave_at_[hidden]>
> > > > > "William E. Kempf" <wekempf_at_[hidden]> writes:
> > > > >
> > > > > > That's a good idea. So would users prefer new exception types here,
> > > > > > or should I use the std:: exceptions?
> > > > >
> > > > > IMO, it's always safer to use an exception type which provides
> > > > > more-specific information.
> > > >
> > > > Agreed. And we should keep coherence with the filesystem library.
> > >
> > > I'm not sure there's any coherence to keep here. Do you have specific
> > concerns/thoughts here?
> >
> > I was thinking about keeping similar design patterns between these two
> > libraries.
> > (because they are conceptually similar as they both give a portable view of
> > operating system functionalities).
> > So if we use domain specific exception in the filesystem library, the thread
> > library should follow the same pattern too. The same for the issue of
> > conditional compilation.
>
> I'll look at this closer, but the domains are different enough that I'm not sure there's anything that carries over.

OK, I've been looking at boost::filesystem_error. Here's my thoughts:

boost::filesystem_error could be benefited by splitting it up into more exception types. I know this was suggested in the review, but don't know what the plan was in regard to this. In Boost.Threads case, so far we have need for 4 different errors: lock errors, resource errors, invalid arguments and unsupported errors. Some have suggested carrying the OS error code, but given only 4 possible error conditions, does this even sound reasonable? Or are people suggesting Boost.Threads should use a single exception type and carry the error code, as filesystem_error currently does?

William E. Kempf
wekempf_at_[hidden]


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