Можно ли поймать Error?

Теоретически Error, как и все другие исключения, относящиеся к Throwable, перехватываются в catch. Код в нём должен быть валидным и компилироваться без ошибок.

Error, а также все его подклассы возникают во время выполнения, они являются нестандартными, которые в обычных условиях не должны возникать. То есть, Error и его подклассы – это непроверяемые, в обычных условиях исключения, возникающие во время выполнения, и которые большинство программ не должны пытаться перехватить.

К Error относятся следующие исключения:

  •  VirtualMachineError – эта ошибка говорит о том, что Java машина работает неправильно и продолжение её работы может привести к непредсказуемым результатам;
  • OutOfMemoryError – возникновение этой ошибки говорит о том, что создание объектов невозможно;
  • StackOverflowError – это исключение сигнализирует о потере фреймов стека вызова.

Таким образом, Error это разновидность unchecked exception, поэтому перехватывать её не требуется, а значит объявлять её в throws необязательно.

Поделиться уроком

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *