finally 句で return してはいけない

finally 句で return すると try{} 句の中で発生した例外が握りつぶされる。

public static void main(String[] args) {
    try {
        throw new RuntimeException();
    } finally {
        return;
    }
}

上記コードを実行すると、RuntimeException は発生せず何も表示されずにプログラムが終了する。
当然だが、finally 句で try 句の後始末以外の処理を書いてはいけない。