On 1/9/07, Stephen Colebourne <[EMAIL PROTECTED]> wrote:
From: Henri Yandell <[EMAIL PROTECTED]>
> > This helps with naming, but without the scoping, you're left with the
> > Javadocs as the only way to specify that the exception is intended to be
> > used only within the DirectoryWalker class. Of course, a public static inner
> > class can be used elsewhere as well, but the relationship with the enclosing
> > class makes a clear statement of intent.
> >
> > We can agree to disagree, though - I was mostly just interested in what the
> > arguments are against using inner classes, given that I see very clear and
> > meaningful reasons for using them.
>
> Ditto. Your arguments are good, so I'm quite happy to go with whatever
> consensus is on this one.

I think the other argument is that the JDK doesn't have inner exception classes 
(well, maybe it does, but I can't think of any well-known ones ATM). Since [io] 
is a JDK+ library, I'd say we should have no inner exceptions.

Sorry, but this doesn't seem like a very good argument to me - on this
basis you could argue against the whole existance of IO - since it
provides stuff thats not in the JDK :-) If you could point to a "no
inner exceptions in the jdk" policy with reasons why then that would
be a different thing.

Two of the reasons for "inner classes" on the Sun Java tutorial[1]
apply to this case IMO

- it logically groups the exception with the class it applies to -
i.e. DirectoryWalker
- it makes for more readable/maintainable code

From whats been said in this thread then at the end of the day is
purely down to different stylistic preferences. On that basis I'd
prefer it to remain how I originally coded it. Having said that - if
its going to prevent/hold up an IO 1.3 release then, as I said before,
I'm not going to object to it being changed.

Niall

[1] http://java.sun.com/docs/books/tutorial/java/javaOO/nested.html


Stephen

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to