Ошибки имеют тенденцию сигнализировать об окончании вашего приложения, как вы его знаете. Как правило, он не может быть восстановлен и должен привести к выходу вашей виртуальной машины. Поймать их не следует, за исключением возможности регистрации или отображения соответствующего сообщения перед выходом.
Пример:
OutOfMemoryError - Вы мало что можете сделать, так как ваша программа больше не может работать.
Исключения часто восстанавливаемы, и даже если нет, они обычно означают, что попытка операции завершилась неудачно, но ваша программа все еще может продолжаться.
Пример:
IllegalArgumentException - передал недопустимые данные в метод, так что вызов метода не удался, но это не влияет на будущие операции.
Это упрощенные примеры, и есть только много информации только об Исключениях.