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 13:13:14 GMT
On 2012-03-22 12:17, Michael Dürig wrote:
>
>
> On 22.3.12 10:54, Julian Reschke wrote:
>> 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.
>
> +1 for nullability annotations. We need to decide on which one to use
> however. There seems to be quite a bit of a discussion [1].
> ...

My gut feeling is "what Findbugs 2 is using, assuming it now works 
again". Those IMHO should work with IntelliJ as well.

Best regards, Julian

Mime
View raw message