As background, Oracle has announced that they intend to include, in JDK 8,
support for type annotations. Java 7 only permits annotations, such as
@Deprecated or @Override, to be written on declarations. The ability to
write annotations on type uses enables improved documentation and bug
detection. One example use is the Checker Framework for pluggable
typechecking (http://types.cs.washington.edu/checker-framework/). Note
that the Checker Framework is a third-party tool and not part of the Java
language proper, and other tools will also use JSR 308.
-Mike
catch ( @A | @B NullPointerException | @C IllegalArgumentException e) {
An annotation before the first | is treated as applying to every disjunct, so the above
would be equivalent to (but shorter than)catch ( @A | @B NullPointerException | @C IllegalArgumentException e) {