Если я не ошибаюсь, исключению не понадобится блок finally
, чтобы остановить выполнение и сделать то, что вам нужно, например очистить или устранить ошибки.
try {
// Do some work!
// Fail
} catch (IOException e) {
// Clean up, alert user, expected error
} catch (Exception e) {
// Not so much expected, but lets try to handle this
}
Ошибки должны исходить от ваших реализованных классов и методов, которые в основном являются вашими идеями. Подумайте о ходе выполнения и распространении ошибок. Если ваш приведенный выше метод не перехватывает конкретное исключение, то все, что вызвало его, увидит исключение.
Throwable - это просто класс верхнего уровня с подклассами. Исключение, как правило, подвох. И помните, что вы также можете реализовать свои собственные исключения для решения задачи.