2015-05-08 18 views
10

Po omówieniu wielokrotnego catch/połączony blok catch here z niejednoznaczności między terminami „bloku wielokrotnego catch”, czyli Java 7 funkcji:Czy istnieje oficjalna nazwa bloku złożonego/wielozadaniowego Java 7?

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

i „wiele bloków catch”, czyli dosłownie, wiele bloków catch :

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

mam zbadane, aby sprawdzić, czy funkcja Java 7 ma specyficzny, oficjalnej nazwy, które można wykorzystać, aby wyraźnie odróżnić go od starszego stylu łapania wielu wyjątków. Jednak nazwa ta nie wydaje się nigdzie nazywać tej funkcji, podczas gdy niektóre inne źródła (takie jak Eclipse i SO) nazywają ją blokiem "wielu połączeń".

Czy istnieje oficjalna nazwa Oracle dla tej funkcji w dowolnym miejscu?

+0

Netbeans również wydaje się używać "multicatch" – MadProgrammer

+0

IntelliJ IDEA [wydaje się również używać "multi-catch"] (http://blog.jetbrains.com/idea/2011/02/announcing-intellij-idea-105 -with-full-java-7-support /). – Vulcan

+0

Podobnie jak inne powyższe, nie jest to "oficjalne", ale [pełne odwołanie] (http://www.amazon.com/Java-The-Complete-Reference-Series/dp/0071808558) mówi: "Drugą nową funkcją jest nazwany * multi-catch * ... " – ChiefTwoPencils

Odpowiedz

13

Java Language Specification section 14.20 dotyczy uni-catch i wielu połowów klauzul, które jest tak urzędnika, jak to robi.

Klauzula haczyk którego wyjątkiem parametru jest oznaczany jako jeden typ klasy jest nazywany jednokierunkowy haczyk punktu.

Klauzula catch, której parametr wyjątku jest oznaczana jako unii typów, nazywa się klauzulą ​​wielowątkową .

Oczywiście, przed Java 7 nie było klauzul multi-catch, więc określenie "uni-catch" nigdy nie było konieczne aż został wprowadzony multi-catch.

Termin multi-catch jest różny od posiadania więcej niż jednej (kilku, wielu) klauzul catch.