Есть ли официальное название для комбинированного/многолопастного блока Java 7?
Обсудив многохвальный/комбинированный блок catch здесь с двусмысленностью между терминами "множественный блок catch", что означает функцию Java 7:
try { .. } catch (ExceptionA | ExceptionB ex) { .. }
и "несколько блоков catch", что означает буквально несколько блоков catch:
} catch (ExceptionA exa) { ..
} catch (ExceptionB exb) { .. }
Я исследовал, имеет ли функция Java 7 определенное официальное имя, которое можно использовать, чтобы четко отличить его от более старого стиля ловли нескольких исключений. Однако Oracle источники не выглядят для обозначения этой функции в любом месте, в то время как некоторые другие источники (например, Eclipse и qaru.site/info/tagged/...) называют его блоком с несколькими ловушками.
Есть ли официальное имя Oracle для этой функции где угодно?
Ответы
Ответ 1
Раздел Java Language Specification раздел 14.20 относится к оговоркам о uni-catch и multi-catch, который примерно соответствует официальным данным.
Предложение catch, параметр исключения которого обозначается как один тип класса, называется условием uni catch.
Предложение catch, параметр исключения которого обозначается как объединение типов, называется предложением с несколькими catch.
Конечно, до Java 7 не было предложений с несколькими catch, поэтому термин "uni-catch" никогда не был необходим, пока не был введен многолопай.
Термин multi-catch отличается от более чем одного (нескольких, множественных) выкладок.