Когда происходит ошибка в Java? - PullRequest
7 голосов
/ 07 ноября 2010

Я студент и сейчас изучаю исключения и ошибки в Java.

У меня путаница, когда возникает ошибка. Пожалуйста, поделитесь со мной некоторыми примерами.

Ответы [ 4 ]

10 голосов
/ 07 ноября 2010

Ошибки Throwable с, которые вы не должны / ожидаете отловить, например OutOfMemoryError или StackOverflowError.

С документация Java на Error:

Ошибка - это подкласс Throwable, который указывает на серьезные проблемы, которые разумное приложение не должно пытаться отловить . Большинство таких ошибок являются ненормальными условиями. Ошибка ThreadDeath, хотя и является «нормальным» условием, также является подклассом Error, поскольку большинство приложений не должны пытаться ее перехватить.

Вот некоторые из наиболее распространенных ошибок:

  • OutOfMemoryError
  • StackOverflowError
  • AssertionError
  • NoClassDefFoundError

Вот остальные ошибки в стандартном API:

  • AnnotationFormatError
  • AWTError
  • CoderMalfunctionError
  • IOError
  • FactoryConfigurationError
  • FactoryConfigurationError
  • LinkageError
  • ServiceConfigurationError
  • ThreadDeath
  • TransformerFactoryConfigurationError
  • VirtualMachineError
  • InternalError
  • UnknownError
  • ClassCircularityError
  • ClassFormatError
  • ExceptionInInitializerError
  • IncompatibleClassChangeError
  • UnsatisfiedLinkError
  • VerifyError
3 голосов
/ 07 ноября 2010

Ошибки обычно используются для сигнализации о серьезных технических проблемах, которые приложение не может исправить.Посмотрите на Javadoc классов ошибок, и вы поймете идею.

1 голос
/ 07 ноября 2010

Если у вас не хватает памяти - kaboom! OutOfMemoryError ! (На самом деле, на данный момент вы мало что можете сделать, но пусть процесс умрет и попытается перезапустить его - например, сам по себе ответ на попытку требует памяти, так что это ловушка-22: - /)

0 голосов
/ 07 ноября 2010

Ошибки - это то, что вы почти не контролируете, или, как правило, означает серьезную проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...