RE: Exceptions (was: RE: [Avalon4:PROPOSAL] Context Consensus)

"Berin Loritsch" <[email protected]>
Newsgroups gmane.comp.jakarta.avalon.apps.devel,gmane.comp.jakarta.avalon.devel
Message-ID <[email protected]>
> From: Leo Sutic [mailto:[email protected]]
> 
> > From: Noel J. Bergman [mailto:[email protected]] 
> > 
> > > I prefer for the component to [do] the cast and explode if 
> > it fails. 
> > > The responsibility is on the container to catch and log the 
> > exception.
> > 
> > The contract throws ContextException.  There is nothing in 
> > the API contract that says that a container must 
> > intelligently handle ClassCastException, or what it might 
> > mean semantically.
> 
> True, but here we're really going into whether RuntimeExceptions
> should be tested for and caught. In the end I guess it just matters
> how much defensive programming you want to put in. Your example
> is too much for me to accept as a coding guideline, but if you
> want to write code that way...

A *Container* needs to be able to recover from ALL exceptions
thrown by components.  This is a real practical requirement.  If
a poorly written optional component introduces a NullPointerException
or a ClassCastException, and the container does not catch it and
recover from it then the whole application will fail.

It is a QoS (Quality of Service) issue.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.