Я возьму примеры из здесь Это пример:
static class FirstException extends Exception { }
static class SecondException extends Exception { }
public void rethrowException(String exceptionName) throws FirstException, SecondException {
try {
if (exceptionName.equals("First")) {
throw new FirstException();
} else {
throw new SecondException();
}
} catch (FirstException e) {
throw e;
}catch (SecondException e) {
throw e;
}
}
Это компилируется как с Java 6, так и с 7.
Если вы хотите оставить галочкуисключения из сигнатуры метода, вы должны хранить громоздкие предложения catch в java 6.
В Java 7 вы можете сделать это следующим образом:
public void rethrowException(String exceptionName) throws FirstException, SecondException {
try {
if (exceptionName.equals("First")) {
throw new FirstException();
} else {
throw new SecondException();
}
} catch (Exception e) {
throw e;
}
Таким образом, ваше преимущество в том, что у вас меньшегромоздкий пункт поймать.