Помимо очевидного случая, когда разные исключения рассматриваются по-разному, есть ли польза от обработки исключений отдельно? Я вижу много кода, который выглядит примерно так:
try {
doSomethingThatMayThrowExceptions();
} catch (SomeException e) {
} catch (OtherException e) {
}
Я всегда склонен просто ловить универсальный Exception
, когда у меня есть только один процесс обработки исключений.
Выводом будет следующий вопрос: лучше ли в любом случае указывать точный тип исключения, которое вы перехватываете, если оно только одно? Например:
try {
number = Integer.parseInt(numberString);
} catch (Exception e) {
// ...
}
В приведенном выше примере блок try
может выдавать только NumberFormatException
. Есть ли минус в том, чтобы поймать общий Exception
здесь?