В таких случаях параметры являются ''final'', следовательно, нельзя присвоить им любое значение в блоке catch.
* Try с ресурсамипозволяет прямо в try блоке объявлять необходимые ресурсы, которые по завершению блока будут коректно закрыты. Любой объект реализующий java.lang.AutoCloseable может быть использован как ресурс.
Ресурс static String readFirstLineFromFile(String path) throws IOException { try (BufferedReader br = new BufferedReader(new FileReader(path))) {--- return br.readLine(); }} это В приведенном примере в качестве ресурса использутся объекткласса BufferedReader, который должен быть будет закрыт после завершения работы вне зависимосити от того, как выполнится try-блок. Можно объявлять несколько ресурсов, разделяя их точкой с нимзапятой.