On 1/11/07, James Carman <[EMAIL PROTECTED]> wrote:
"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" I don't know if I agree with this point, Niall. The "stuff" that's in IO wasn't left out of the JDK because of coding style, which is the reason Stephen (I believe that's who said it) is saying we shouldn't use nested exception classes. I would agree that nested exception classes should be avoided. I wouldn't want to have to qualify my exceptions in my catch blocks: catch( DirectoryWalker.CancelException e ) That just looks ugly/weird to me and people just usually don't do that.
That depends a _lot_ on the kind of coding you're doing / exposed to. For example, it's not particularly common for web apps to use a lot of anonymous inner classes, but if you were looking at Swing code, you'd likely see them all over the place. The above may look ugly / weird to you, but it looks elegant / self-documenting to me. -- Martin Cooper I would agree, however, that it does group stuff logically.
On 1/11/07, Niall Pemberton <[EMAIL PROTECTED]> wrote: > 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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]