Я верю Я видел твит от Джоша Блоха, в котором говорилось, что "последнее" ограничение было снято позднее. Я посмотрю, смогу ли я найти пост об этом, но я подозреваю, что просто любая ранняя документация, которую вы прочитали, теперь неточна.
РЕДАКТИРОВАТЬ: Я не могу найти точную запись "все изменилось", но в документации Java 7 показан пример с , а не , который является окончательным. Он говорит о том, что переменные исключения неявно неявно final, когда блок catch объявляет более одного типа, но это немного отдельно.
РЕДАКТИРОВАТЬ: Теперь я нашел источник моей путаницы, но это сообщение внутренней рассылки :( В любом случае, его не нужно объявлять как окончательное, но я считаю, что компилятор обрабатывает его как неявно final - точно так же, как в сценарии с несколькими уловами.