Why in a try catch finally, the return is always that of finally?
<p>What happens to the <code>return A</code> code in my catch block?</p>

<pre><code>public class TryCatchFinallyTest {

    @Test
    public void test_FinallyInvocation()
    {
        String returnString = this.returnString();
        assertEquals("B", returnString);
    }

    String returnString()
    {
        try
        {
            throw new RuntimeException("");
        }
        catch (RuntimeException bogus)
        {
            System.out.println("A");
            return "A";
        }
        finally
        {
            System.out.println("B");
            return "B";
        }
    }
}
</code></pre>
