if we continue the merging of Jake <> Sarge comments we might find that
std::exception(s) is sufficient if the many name exceptions that pertain to
the Library are all handled in a similar manner and only have unique names
for human readability, but not a functional consideration...

EB

On Fri, Sep 8, 2017 at 8:52 AM, Michael William Dodge <mdo...@pivotal.io>
wrote:

> I subscribe to Josh Gray's philosophy of only having another exception
> class if there is something different to be done when it's caught. For
> example, if the caller would do the exact same thing for
> NoPermissionsException and DiskFullException, just use an IOException and
> be done with it. I also subscribe to the philosophy that a library have its
> own exception hierarchy (possibly with a single class), which I think
> meshes with Jake's "exceptions exiting a library to be reasonably limited
> to exceptions generated by and relating to that library".
>
> Sarge
>
> > On 8 Sep, 2017, at 07:19, Jacob Barrett <jbarr...@pivotal.io> wrote:
> >
> > Sorry for jumping on this thread so late. This is an important issue we
> > need to address.
> >
> > On Thu, Aug 17, 2017 at 11:57 AM David Kimura <dkim...@pivotal.io>
> wrote:
> >
> >> Using exceptions seems contrary to the Google C++ Style Guide we
> adopted,
> >> which states: *"do not use C++ exceptions"* [3
> >> <https://google.github.io/styleguide/cppguide.html#Exceptions>].  Here
> is
> >> a
> >> link [4 <https://www.youtube.com/watch?v=NOCElcMcFik#t=30m29s>] to a
> >> cppcon
> >> talk defending their decision.  Does it make sense to enforce this rule
> on
> >> our code base?
> >>
> >
> > I don't agree with this approach, as I always tend towards
> > progress/modernization, but it was their choice to remain consistent
> across
> > their code base. I would say if we made the same decision solely on
> > consistency then we would have our own exceptions derived from a base
> > exception class. This is consistent with our Java and .NET as well as
> > current C++ clients.
> >
> >
> >> If we decide to knowingly ignore this rule, would we want to continue to
> >> propagate custom exceptions or switch to standard exceptions?  At the
> very
> >> least, it seems to me that our custom exceptions should derive from
> their
> >> most closely matching standard exception counterparts.  Thoughts?
> >>
> >
> > I agree with your recommendation of using our exceptions but extend the
> > most appropriate C++11 exceptions where applicable. I think it is good
> form
> > for exceptions exiting a library to be reasonably limited to exceptions
> > generated by and relating to that library.
> >
> > Our current Exception class also brings with it stack tracing, although
> > poorly supported on some platforms and disabled by default. Boost just
> > recently graduated a stack track library that is supported on many
> > compilers and platforms. It may be worth integrating into our exceptions
> as
> > a replacement for the current stack tracing code.
> >
> > -Jake
>
>

Reply via email to