[Soot-list] Exception Table

Patrick Lam plam at cs.mcgill.ca
Wed Jul 9 14:21:55 EDT 2008


Silviu ANDRICA wrote:
> Hello,
>     my problem is that "label3: store.r $r6;" is not caught by the 
> exception handler whose head it is.

So you mean that you would like

        catch java.lang.Throwable from label1 to label2 with label3;
        catch java.lang.Throwable from label4 to label5 with label3;
        catch java.lang.Throwable from label0 to label7 with label8;
        catch java.lang.Throwable from label9 to label10 with label8;

to actually say

        catch java.lang.Throwable from label1 to label2 with label3;
        catch java.lang.Throwable from label3 to label5 with label3;
        catch java.lang.Throwable from label0 to label7 with label8;
        catch java.lang.Throwable from label9 to label10 with label8;

where the second catch includes label3 instead of starting at label4. Is 
that right? (Before I look into this further, could you check the VM 
spec to verify that the store.r --- or aload_2 --- statement can 
actually throw an exception? If the VM spec says that it can't throw an 
exception, then there shouldn't actually be a difference between the two 
catch blocks.)

pat


More information about the Soot-list mailing list