Favored Language for Network Enabled Apps.

Dave Smith dave at thesmithfam.org
Mon Oct 29 15:10:36 MDT 2007


Bryan Sant wrote:
> That's going away in Java 7.  No more checked exceptions.
>
> However, remotes calls would be a good case for a checked exception.
> I'll let you in on a little secret...  The network...  It isn't
> reliable.  Yes, I know you're stunned.  But sometimes the network
> connection fails for various reasons, thus you SHOULD handle that
> exceptional execution path.
>   


I agree that the network is unreliable (of course). But I disagree that 
every time I call a remote method, I should have to catch an exception. 
Network errors should be handled in one place, not at every function 
call. If there's a way to do that with Java RMI, I'd like to know about 
it. If you have dozens of RMI methods, your code gets bloated in a 
hurry, and you write more exception handling code than actual 
implementation. C++ CORBA suffers from the same problem (at least 
omniORB does), and it makes it miserable to call a CORBA function, when 
it's *supposed* to be network transparent. Wouldn't it be great if you 
could specify one exception handler for a whole batch of method calls 
without having to spell it out at each call? Maybe that's a good case 
for AOP...

I like Java's checked exceptions. To me, it's what makes them useful. 
C++ exceptions are basically useless because the compiler does not force 
them to be caught. Why did Sun decide to ditch them in Java 7?

--Dave



More information about the PLUG mailing list