[Soot-list] Exception Table

Silviu ANDRICA silviu.andrica at gmail.com
Wed Jul 9 14:59:28 EDT 2008


Hello,
   
Patrick Lam wrote:
> 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?
That is exactly what I would like. And the same thing goes for
    catch java.lang.Throwable from label9 to label10 with label8;
I would like it to be
    catch java.lang.Throwable from label8 to label10 with label8;


> (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.)
>
In the on-line version, 
http://java.sun.com/docs/books/jvms/second_edition/html/Instructions2.doc.html,
there is no mentioning about any exceptions that the instruction might 
throw.

Silviu



More information about the Soot-list mailing list