--- On Wed, 1/13/10, Adam Heath <[email protected]> wrote:

> From: Adam Heath <[email protected]>
> Subject: Re: svn commit: r899053 - 
> /ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/ContextUtil.java
> To: [email protected]
> Cc: [email protected]
> Date: Wednesday, January 13, 2010, 8:17 PM
> [email protected]
> wrote:
> > Author: adrianc
> > Date: Thu Jan 14 03:54:23 2010
> > New Revision: 899053
> > 
> > URL: http://svn.apache.org/viewvc?rev=899053&view=rev
> > Log:
> > Better exception handling - suggested by Adam Heath.
> > 
> > Modified:
> > 
>    ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/ContextUtil.java
> > 
> > Modified:
> ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/ContextUtil.java
> > URL: 
> > http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/ContextUtil.java?rev=899053&r1=899052&r2=899053&view=diff
> >
> ==============================================================================
> > ---
> ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/ContextUtil.java
> (original)
> > +++
> ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/ContextUtil.java
> Thu Jan 14 03:54:23 2010
> > @@ -20,6 +20,7 @@
> >  
> >  import static
> org.ofbiz.api.authorization.BasicPermissions.Access;
> >  
> > +import java.security.AccessControlException;
> >  import java.util.List;
> >  
> >  import javolution.util.FastList;
> > @@ -48,7 +49,9 @@
> >              try {
> >               
>   accessController.checkPermission(Access,
> artifactPath);
> >               
>   resultList.add(webAppInfo);
> > -            } catch
> (Exception e) {}
> > +            } catch
> (AccessControlException e) {
> > +             
>   // This exception is expected - do nothing
> > +            }
> >             
> artifactPath.restoreState();
> 
> And what about the OutOfMemoryException that could be
> thrown by
> resultList.add()?
> 
> Anytime you have a push/pop kind of pattern, you must use
> push before
> a try, and pop inside the finally.
> 
> foo.push();
> try {
>     code();
> } finally {
>     foo.pop();
> }

I really appreciate you taking the time to review my code. In this case, I 
think you're making much ado about nothing. The object you are concerned about 
is on the stack, so if any exception is thrown it will be discarded.






Reply via email to