[rules-dev] Drools API improvement sugestion

Greg Barton greg_barton at yahoo.com
Fri Dec 12 11:30:57 EST 2008


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 <zoly at daxtechnologies.com> wrote:

> From: Zoltan Farkas <zoly at daxtechnologies.com>
> Subject: RE: [rules-dev] Drools API improvement sugestion
> To: "Rules Dev List" <rules-dev at lists.jboss.org>
> 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: rules-dev-bounces at lists.jboss.org
> [mailto:rules-dev-bounces at lists.jboss.org] 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
> 	rules-dev at lists.jboss.org
> 	https://lists.jboss.org/mailman/listinfo/rules-dev
> 	  
> 
> 
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev


      



More information about the rules-dev mailing list