Есть ли официальное название для комбинированного / multi-catch блока Java 7?

При обсуждении здесь блока множественного улова / комбинированного улова с неоднозначностью между терминами "блок с множественным уловом", означающими функцию Java 7:

try { .. } catch (ExceptionA | ExceptionB ex) { .. }

и "несколько блоков перехвата", что буквально означает "несколько блоков перехвата":

} catch (ExceptionA exa) { ..
} catch (ExceptionB exb) { .. }

Я исследовал, чтобы увидеть, есть ли у функции Java 7 специальное официальное имя, которое можно использовать, чтобы четко отличить его от старого стиля перехвата нескольких исключений. Тем не менее, источники Oracle, кажется, нигде не называют эту функцию, в то время как некоторые другие источники (например, Eclipse и SO) называют ее блоком "multi-catch".

Есть ли где-нибудь официальное имя, данное Oracle?

1 ответ

Решение

Раздел 14.20 "Спецификация языка Java" относится к предложениям uni-catch и multi-catch, что является практически официальным заявлением.

Предложение catch, параметр исключения которого обозначен как один тип класса, называется предложением uni-catch.

Предложение catch, параметр исключения которого обозначен как объединение типов, называется предложением multi-catch.

Конечно, до Java 7 не было предложений о множественном улове, поэтому термин "uni-catch" никогда не был необходим до тех пор, пока не был введен multi-catch.

Термин " множественный улов" отличается от наличия более одного (нескольких, нескольких) предложений об улове.

Другие вопросы по тегам