I vote for runtime exception. That gives you the option of catching it or not. Just from experience I can't tell you how nice it was when HibernateException went from a checked to an unchecked exception.
That being said, the API methods that can throw it should still declare it in the throws clause, even if it's a runtime exception. That helps IDEs like Eclipse wrap method calls in the right try/catch blocks when generating code. (See the "Source->Surround With->try/catch block" menu option) --- On Fri, 12/12/08, Zoltan Farkas <[email protected]> wrote: > From: Zoltan Farkas <[email protected]> > Subject: RE: [rules-dev] Drools API improvement sugestion > To: "Rules Dev List" <[email protected]> > Date: Friday, December 12, 2008, 10:10 AM > >From my point of view as a developer who writes code > against the api, > I have to handle to case of a Resource not being there, or > being > invalid/corupt... theese are casses that I need to recover > from in my > code... > and I have no way of knowing what do I need to catch and > where, without > first writing the code, run tests against it, and examine > stack traces. > I find this quite inefficient... > > If you google for ResourceNotFoundException, you will find > out that > there is quite a few APIs out there that implement it. > There is other > apis that have InvalidResourceException... or > javx.resource.ResourceException > > My preference would be toward catched Exceptions in this > case. > > --zoly > > > ________________________________ > > From: [email protected] > [mailto:[email protected]] On Behalf Of > Mark Proctor > Sent: Thursday, December 11, 2008 8:04 PM > To: Rules Dev List > Subject: Re: [rules-dev] Drools API improvement sugestion > > > Zoltan Farkas wrote: > > Based on current implementation, the following methods I > think > should throw a exception, something like: > ResourceNotFoundException > > do you want this as runtime or catched exception? At the > moment we are > trying to avoid catched exceptions. > > Mark > > > > org.drools.compiler.PackageBuilder.addKnowledgeResource() > org.drools.builder.impl.KnowledgeBuilderImpl.add() > > another option might be to verify the validity of a > Resource > object at creation time and make ResourceFactory factory > methods throw > ResourceNotFoundException. > > I believe the case of a "not found resource" the > user of the api > should be "ecouraged" to handle. > > Another case that might be needed to be handled could be > InvalidResource? > > Let me know what you guys think > > Regards > > --zoly > > ________________________________ > > > _______________________________________________ > rules-dev mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-dev > > > > _______________________________________________ > rules-dev mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-dev _______________________________________________ rules-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-dev
