Это не отличается от обработки обычного исключения:
try {
someMethodThatThrowsRuntimeException();
} catch (RuntimeException ex) {
// do something with the runtime exception
}
Ты просто ловишь их, как любое другое исключение.
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 {
// Clean up operation
}
Все вместе выглядит так.
try {
// Do something here
}
catch (AnotherException ex) {
}
catch (Exception e) { //Exception class should be at the end of catch hierarchy.
}
finally {
}
Если вы знаете тип исключения, которое может быть сгенерировано, вы можете перехватить его явно. Вы также можете перехватить Exception
, но это обычно считается очень плохой практикой, потому что тогда вы будете обрабатывать исключения всех типов одинаково.
Обычно смысл RuntimeException заключается в том, что вы не можете корректно обработать его, и не ожидается, что они будут выброшены во время нормального выполнения вашей программы.