Why no exception when finally has return clause : <p>The code snap is like below:  </p>

<pre><code>public static void main(String[] args) {
    System.out.println(echo("jjj"));
}

public static String echo(String str) {
    try {
        int a = 1/0;
    } catch (Exception e) {
        throw e;
    } finally {
        return str;
    }
}
</code></pre>

<p>Why can I get the output and no exception occurs?<br>
And if I put the return clause out of finally, then exception occurs.<br>
How could <code>return</code>(in <code>finally</code>) stop <code>exception</code>?</p>
