Обработка RuntimeExceptions в Java [закрыто]

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

4 ответов


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

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

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

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


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

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

не уверен, что вы имеете в виду непосредственно 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 {
}