вопрос
Я столкнулся с проблемой сегодня. В следующем коде, когда исключение времени выполнения брошено, будет ли последующий код все еще выполнен? Нужно ли добавить оператор return после исключения?
public void add (int index, e element) {if (size> = elements.length) {бросить новое runtimeexception («Таблица заказа полна, не может быть добавлена"); //возвращаться; // это необходимо? } ....}
Чтобы ответить на этот вопрос, я написал несколько фрагментов кода, чтобы проверить его, и результаты следующие:
// код 1public static void test () бросает исключение {выбросить новое исключение («параметр вне границ»); System.out.println («После исключения»); // ошибка компиляции, «Недоступный оператор»} // code 2try {бросить новое исключение ("параметр вне границ"); } catch (Exception e) {e.printstackTrace ();} system.out.println ("После исключения"); // можно выполнить // code 3if (true) {бросить новое исключение ("параметр вне границ"); } System.out.println ("После исключения"); // Исключение брошено, не будет выполненоСуммировать:
Если исключение брошено перед кусочком кода, а исключение не будет завоевано, этот кусок кода будет генерировать ошибку времени компиляции «недоступное оператор». Как код 1
Если исключение брошено перед куском кода, и это исключение завоевано try...catch , если в настоящее время не будет выпущено новое исключение в catch
Если исключение добавлено в условное утверждение, программа может быть составлено, но последующие операторы не будут выполнены. Как код 3
Также суммируйте разницу между исключением времени выполнения и исключением непрерывного.
Исключениями выполнения являются исключениями класса RuntimeException и его подклассов, и являются не проверяемыми исключениями, такими как NullPointerException , IndexOutOfBoundsException и т. Д. Поскольку такие исключения являются либо исключениями системы, и не могут быть обработаны, такие как сетевые проблемы;
Либо это ошибка логики программы, такая как исключение NULL Pointer; JVM должен прекратить работу, чтобы исправить эту ошибку, поэтому исключение времени выполнения можно обработать без обработки (ловушка или подброса, конечно, с ней также можно обработать), и JVM обрабатывает его сами. Java Runtime автоматически catch на RuntimeException программного throw , а затем остановите поток и напечатайте исключение.
Непрерывные исключения являются исключениями, кроме RuntimeException . Все они принадлежат к классу Exception и его подклассам в типе и являются проверенными исключениями. Неудача исключений должно быть обработано (улавливание или выброс), и, если не обработана, программа будет иметь ошибку компиляции. Вообще говоря, Exception написанное в API, которое throws не является RuntimeException .
Общие исключения во время выполнения:
Общие исключения из-за неудачи:
Хорошо, вышеупомянутое содержимое этой статьи. Я надеюсь, что содержание этой статьи поможет для каждого обучения или работы каждого. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения.