Документация для java.lang.Error
гласит:
Ошибка - это подкласс Throwable, который указывает на серьезные проблемы, которые разумное приложение не должно пытаться уловить.
Но так как java.lang.Error
является подклассом java.lang.Throwable
, я могу поймать этот тип Throwable.
Я понимаю, почему не стоит ловить такого рода исключения. Насколько я понимаю, если мы решим перехватить его, обработчик перехвата не должен выделять какую-либо память самостоятельно. В противном случае OutOfMemoryError
будет OutOfMemoryError
снова.
Итак, мой вопрос:
- Существуют ли какие-либо сценарии реального мира при обнаружении
java.lang.OutOfMemoryError
может быть хорошей идеей? - Если мы решим перехватить
java.lang.OutOfMemoryError
, как мы можем быть уверены, что обработчик перехвата не выделяет память самостоятельно (какие-либо инструменты или лучшие практики)?