[
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