directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Karasulu" <akaras...@apache.org>
Subject Re: [ApacheDS] Partition design and interfaces
Date Wed, 16 Jan 2008 15:00:49 GMT
Hi Ersin,

Glad to see you're lurking ...

On Jan 16, 2008 8:38 AM, Ersin Er <ersin.er@gmail.com> wrote:

> Hi,
>
> I think Spring approach is here is nice. They have their own unchecked
> exception hierarchy and adapters for different data stores convert
> specific exceptions to one of the exceptions in Spring's hierarchy.


This is a very interesting idea.  I'm just wondering what impact this would
have on higher levels wrt exception handling.  If using unchecked exceptions
are the preferred way then why would anyone bother having their API throw
checked exceptions?


> We
> can define a simple LDAP related data store exception hierarchy and
> expect all partition implementations to obey it.
>

I guess by making all exceptions unchecked it makes exception raising and
handling by API interface implementors and implementation users to be based
on a looser contract.

This can be refreshing but sometimes it results in wacky errors where
trouble shooters often confused where why and how the exception resulted.
But then again 90% of the time if the API is designed well and exceptions
are rare then everything works out with less headaches.  I guess this is
another tradeoff to consider.

Does anyone else have some ideas on this specific topic Ersin brought up?

Thanks,
Alex


>
> On Jan 16, 2008 12:45 AM, Alex Karasulu <akarasulu@apache.org> wrote:
> > Hi all,
> >
> > Different underlying stores have different kinds of checked exceptions
> they
> > throw at the lowest level.  For example JDBM is humble and just uses IO
> > exceptions.  The JE authors use an exception hierarchy based on
> > DatabaseException.  I was wondering if there was a preference out the
> base
> > class for what exceptions are thrown from partitions?  Right now there
> are a
> > few options:
> >
> > (1) Throw exceptions that extend IOException (works well with JDBM)
> > (2) Throw NamingExceptions works well with Java Naming but we have a bad
> > taste in our mouths from this.
> > (3) Create our own base class for exceptions thrown at these lower
> layers
> > like say PartitionException
> >
> > Right now I went with IOException but I'm thinking it might be biased
> > towards a particular partition implementation.  Does anyone have some
> > opinion one way or the other?
> >
> > Alex
> >
> >
> >
> >
>
>
>
> --
> Ersin Er
>

Mime
View raw message