[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-dev] RE: [aspectj-users] Handler advice

> Answered my own question.  It supplements it which is what I had hoped.
>
> I had an additional question though, it appears as though around and after
> advice have no impact on handler advice.  Is this true?  If so why?

It's an issue with bytecode weaving. For decompiling handlers there's no
way to tell when the handler actually ends (I think the presense of
finally or perhaps just more code in the method, the archives are
specific). Therefore, instead of assuming when the handler code ends ajc
takes the route of disallowing after and around altogether. My impression
is if that the source code were always available this limitation would not
exist.

Thanks,
Macneil

> Thanks,
>
> Ron DiFrango
>
>
> -----Original Message-----
> From: DiFrango, Ron
> Sent: Friday, September 12, 2003 11:36 AM
> To: 'aspectj-users@xxxxxxxxxxx'
> Cc: aspectj-dev@xxxxxxxxxxx
> Subject: [aspectj-users] Handler advice
>
>
> All,
>
> If I have handler advice like the following:
>
> public aspect DefaultExceptionHandlerAspect
> {
> 	pointcut classList() :
> 		within(com.capitalone.risk.service.xml..*) ||
> 		within(com.capitalone.risk.service.data..*);
>
> 	before(Throwable e) :
> 		classList()
> 		&& handler(*)
> 		&& args(e)
> 	{
> 		log(thisJoinPointStaticPart, e);
> 	}
>
> 	private void log(JoinPoint.StaticPart jp, Throwable e)
> 	{
> 		LoggerConstants.LOGGER.logException(
>
> jp.getSignature().getDeclaringType(),
> 					e);
> 	}
> }
>
> Does the before advice supplement the code in the catch block (which I would
> expect) or override it?
>
> Thanks in advance,
>
> Ron
>
> **************************************************************************
> The information transmitted herewith is sensitive information intended only
> for use by the individual or entity to which it is addressed. If the reader
> of this message is not the intended recipient, you are hereby notified that
> any review, retransmission, dissemination, distribution, copying or other
> use of, or taking of any action in reliance upon this information is
> strictly prohibited. If you have received this communication in error,
> please contact the sender and delete the material from your computer.
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/aspectj-users
>
> **************************************************************************
> The information transmitted herewith is sensitive information intended only
> for use by the individual or entity to which it is addressed. If the reader
> of this message is not the intended recipient, you are hereby notified that
> any review, retransmission, dissemination, distribution, copying or other
> use of, or taking of any action in reliance upon this information is
> strictly prohibited. If you have received this communication in error,
> please contact the sender and delete the material from your computer.
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/aspectj-users
>