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

Reply via email to