jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Reschke <julian.resc...@gmx.de>
Subject Re: Exceptions used in oak-core
Date Thu, 22 Mar 2012 10:54:07 GMT
On 2012-03-22 11:04, Michael Dürig wrote:
>
> Hi,
>
> Here's my take at this: I'd use exceptions as sparingly as possible and
> only for cases where something unexpected (an exception!) happens. That
> is, I wouldn't use exceptions e.g. for items not being found. This is
> clearly something that happens all the time and is by no means unexpected.
>
> For the cases where exceptions are involved I would define our own very
> small set of exceptions and make them all *unchecked*. Checked
> exceptions compose very badly wrt. lazyness. For example an iterator
> which lazily fetches its items on next() has no clean way of handling
> exceptions in the next() method.
>
> Only at the very last instance (i.e. in the jcr component) I would
> actually create and throw the various RepositoryExceptions.
>
> Michael

I'm not a fan of the "unchecked" pattern, but I agree with not throwing 
at all for expected things, such as NotFound. Which reminds me of 
considering nullability annotations so that the contract is well-defined.

*If* we use unchecked exceptions, by all means let them all extend a 
common base exception :-)

Best regards, Julian

Mime
View raw message