[Soot-list] Extra athrow instruction in a finally block

Eric Bodden eric.bodden at mail.mcgill.ca
Thu Mar 6 09:24:50 EST 2008


You mean code like that?

try{
...
} finally {
  throw e; //(x)
}

Certainly line (x) is an exit point for this method because an
exception *will* be thrown at this point. The try/finally construct
only guards the "try" part, not the "finally" part.

Eric


On 06/03/2008, Alvin Yan <feiya200 at cs.uregina.ca> wrote:
>
>
> Hello everyone,
>
> When I was using ExceptionalUnitGraph to build control flow graph, I found
> the "athrow" instruction in the "finally" block always causes a tail node to
> be built.
>
> Can anybody tell me why this should be a tail node? I think finally block
> will not be an escape point. Correct me if I'm wrong please.
>
> Alvin
> _______________________________________________
>  Soot-list mailing list
>  Soot-list at sable.mcgill.ca
>  http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>
>


-- 
Eric Bodden
Sable Research Group
McGill University, Montréal, Canada


More information about the Soot-list mailing list