[aosd-discuss] exceptions thrown from advice

Awais Rashid aspectsofawais at googlemail.com
Mon Apr 7 05:49:32 EDT 2008


Dear Florin,

The effect of aspects on the exceptional flow of programs poses interesting
challenges. In this case, the aspect throws an exception that the other
method may or may not be expecting. It also depends on whether the exception
has been softened (in AspectJ) or how you may choose to handle the excepion
(e.g., using a separate handler aspect). We have a paper coming up at ECOOP
this year that studies these various effects for AspectJ programs:

Roberta Coelho, Awais Rashid, Alessandro Garcia, Fabiano Ferrari, Nelio
Cacho, Uira Kuesza, Arndt von Staa and Carlos Lucena: "Assessing the Impact
of Aspects on Exception Flows: An Exploratory Study", European Conference on
Object-Oriented Programming, Cyprus, 2008.

If you email me offline, I can pass on a copy.

Awais.

> -----Original Message-----
> From: discuss-bounces at aosd.net 
> [mailto:discuss-bounces at aosd.net] On Behalf Of Florin-Alexandru Bratu
> Sent: 07 April 2008 10:20
> To: discuss at aosd.net
> Subject: [aosd-discuss] exceptions thrown from advice
> 
> Hello everyone!
> 
> This is more of a general question regarding AOP. If I have 
> defined an 
> advice that throws an exception, where is that exception handled?
> 
> For instance: say that I have a method:
> 
> class S{
> public void something() {
>    // something
> }
> }
> 
> and that I have an advice that triggers whenever the method starts 
> executing. The advice is
> 
> class Advice {
> public void  doOnSomething() throws  SomeException  {
>        throw new SomeException();
> }
> }
> 
> (suppose the advice is properly configured)
> 
> Now; if I do something like this:
> 
> class Main {
>    public void other()
>          // is this necessary?
>         // throws SomeException
>    {
>           new S().something();
>    }
> }
> 
> 
> My question is: The call new S().something(); triggers an 
> exception in 
> the method other() ?
> 
> Thank you,
> Florin
> 
> _______________________________________________
> discuss mailing list    -    discuss at aosd.net
> 
> To unsubscribe and change options, go to:
> http://aosd.net/mailman/listinfo/discuss_aosd.net
> 
> Check out the AOSD.net Wiki: http://aosd.net/wiki
> 




More information about the discuss mailing list