Только не перехватывайте исключение и измените объявление метода, чтобы оно могло их распространять:
public void myMethod() throws ExceptionType1, ExceptionType2 {
// Some code here which can throw exceptions
}
Если вам нужно предпринять какое-то действие и , тогда распространять, вы можете отбросить его:
public void myMethod() throws ExceptionType1, ExceptionType2 {
try {
// Some code here which can throw exceptions
} catch (ExceptionType1 e) {
log(e);
throw e;
}
}
Здесь ExceptionType2
вообще не пойман - он просто распространится вверх автоматически.ExceptionType1
перехватывается, регистрируется и затем перебрасывается.
Это не хорошая идея иметь блоки catch, которые просто перебрасывают исключение - если нет какой-либо тонкой причины(например, чтобы предотвратить обработку более общего блока catch), вы должны просто удалить вместо него блок catch.