Обработка RuntimeExceptions в Java

Может ли кто-нибудь объяснить, как обрабатывать исключения Runtime в Java?

Ответ 1

Он не отличается от обработки обычного исключения:

try {
   someMethodThatThrowsRuntimeException();
} catch (RuntimeException ex) {
   // do something with the runtime exception
}

Ответ 2

Если вы знаете тип Exception, который может быть выброшен, вы можете поймать его явно. Вы также можете поймать Exception, но это обычно считается очень плохой практикой, потому что тогда вы будете обрабатывать исключения всех типов одинаково.

Как правило, точка исключения RuntimeException заключается в том, что вы не можете обработать ее изящно, и они не должны быть выброшены во время обычного выполнения вашей программы.

Ответ 3

Вы просто поймаете их, как и любое другое исключение.

try {
   somethingThrowingARuntimeException()
}
catch (RuntimeException re) {
  // Do something with it. At least log it.
}

Ответ 4

Не уверен, что вы ссылаетесь непосредственно на RuntimeException на Java, поэтому я предполагаю, что вы говорите об исключениях во время выполнения.

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

try {
   // Do something here
}

Затем вы обрабатываете исключение.

catch (Exception e) {
   // Do something to gracefully fail
}

Если вам нужно выполнить определенные действия независимо от того, создано ли исключение, добавьте finally.

finally {
   // Clean up operation
}

Все вместе выглядит так.

try {
   // Do something here
}
catch (AnotherException ex) {
}
catch (Exception e) {  //Exception class should be at the end of catch hierarchy.
}
finally {
}