jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig <mdue...@apache.org>
Subject Re: Exceptions used in oak-core
Date Thu, 22 Mar 2012 13:25:46 GMT


On 22.3.12 13:13, Julian Reschke wrote:
> 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.

I created https://issues.apache.org/jira/browse/OAK-37 for this.
Michael

>
> Best regards, Julian

Mime
View raw message