Я немного сомневаюсь, что это возможно, но получение дополнительной информации об этом было бы очень полезно. Мне интересно, как поймать все исключения, которые функция еще не выбрасывает.Как поймать все исключения, которые еще не выбрасываются функцией?
Скажем, у меня есть функция:
public int func(int a, int b) throws IOException, EOFException {
try {
doSomething(a, b);
} catch (AllExceptionsExceptionIOandEOF e) {
doSomethingWithError(e);
}
return 0;
}
Есть ли способ сказать Java, как это сделать? Я знаю, что общий ролик Exception
работает для всех, но я хочу бросить все, кроме заброшенного исключения.
Если это считается плохой практикой, почему? И что является хорошей альтернативой для достижения той же цели?
(PS - Я знаю, что я знаю, что все возможные исключения нужно обрабатывать индивидуально. Для моих целей я просто хочу поймать ошибки, зарегистрировать их в базе данных и посмотреть, что происходит . что мы пропустили во время разработки я не хотел, чтобы поймать общий Exception
когда моя функция уже метания 2 исключения)
Это просто произошло со мной, один из способов было бы сказать:
try {
doSomething(a, b);
} catch (AllExceptionsExceptionIOandEOF e) {
doSomethingWithError(e);
if (e instanceof IOException)
throw e;
if (e instanceof EOFException)
throw e;
}
есть более элегантный способ сделать это?
EDIT - проект выполнен в соответствии с требованиями Java 6, к сожалению. Я знаю, что Java 7 заставил Try/Catches немного более гибким.
Только сделайте это в * одном * месте в своем приложении. См. Http://www.oracle.com/technetwork/java/effective-exceptions-092345.html – artbristol