try и, наконец, выдача исключения без оператора возврата, но нет исключения, когда оператор возврата записывается в методе

Пожалуйста, объясните, почему исключение появляется в первой программе, а не во второй.

1) без оператора возврата в методе чтения

class Example
{   
    public static void read()
    {
        try
        {
             int i = 9/0;
        }
        finally
        {
              System.out.println("This proogram is giving exception");
        }       
    }

    public static void main(String[] fel)
    {
         read();
    }
}

2) с оператором return в методе read

class Example
{   
    public static void read()
    {
         try
         {
               int i = 9/0;
         }
        finally
        {
               System.out.println("This proogram is not giving exception");
               return;
        }       
    }

    public static void main(String[] fel)
    {
          read();
    }
}

Ответы на вопрос(3)

Ваш ответ на вопрос