Я правильно использую Java 7 try-with-resources

Я ожидаю, что буферизованная программа чтения и чтения файлов закроется, а ресурсы освободятся, если будет выброшено исключение.

public static Object[] fromFile(String filePath) throws FileNotFoundException, IOException
{
    try (BufferedReader br = new BufferedReader(new FileReader(filePath)))
    {
        return read(br);
    } 
}

Тем не менее, есть ли необходимость иметьcatch пункт для успешного закрытия?

РЕДАКТИРОВАТЬ:

По сути, приведенный выше код в Java 7 эквивалентен приведенному ниже для Java 6:

public static Object[] fromFile(String filePath) throws FileNotFoundException, IOException
{

    BufferedReader br = null;

    try
    {
        br = new BufferedReader(new FileReader(filePath));

        return read(br);
    }
    catch (Exception ex)
    {
        throw ex;
    }
    finally
    {
        try
        {
            if (br != null) br.close();
        }
        catch(Exception ex)
        {
        }
    }

    return null;
}

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

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