[ 
https://issues.jboss.org/browse/SOLDER-50?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569216#comment-12569216
 ] 

Pete Muir commented on SOLDER-50:
---------------------------------

Agreed with Stuart. The correct pattern to use here is:

if (isBeanManagerAvailable()) {
   doX();
}

Flow control via exceptions is extremely evil and must be avoided at all costs.

We can make this a more specialized exception.

> Throw a specialized exception when BeanManagerAware cannot resolve BeanManager
> ------------------------------------------------------------------------------
>
>                 Key: SOLDER-50
>                 URL: https://issues.jboss.org/browse/SOLDER-50
>             Project: Seam Solder
>          Issue Type: Feature Request
>          Components: Core
>            Reporter: Dan Allen
>            Assignee: Lincoln Baxter III
>            Priority: Minor
>
> The BeanManagerAware#getBeanManager() method currently throws an 
> IllegalArgumentException when the BeanManager cannot be found by any 
> provider. Because this exception is so generic, it's dangerous to bundle the 
> lookup with other code because you aren't sure whether the 
> IllegalArgumentException came from the BeanManager lookup or from a 
> subsequent call, as in:
> try {
>    BeanManager beanManager = BeanManagerAccessor.getBeanManager();
>    beanManager.fireEvent(payload);
> }
> catch (IllegalArgumentException e) {
>    // what caused this?
> }
> Introduce a specialized checked exception for this unique failure. The 
> proposed name is BeanManagerNotAvailable (or BeanManagerNotFound)

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
seam-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-issues

Reply via email to