Eclipse больше не обнаруживает отсутствующую попытку/поймать?

В этом коде

String a = "notANumber";
Integer b = Integer.parseInt(a);

Try/catch необходим, так как parseInt генерирует исключение NumberFormatException.
В моей предыдущей версии Eclipse я получал предупреждение о том, что необходим try/catch, но я не могу понять, как включить его на своем компьютере. текущая версия Eclipse, которая

Eclipse Java EE IDE for Web Developers.
Version: Kepler Service Release 1

person Max    schedule 21.01.2014    source источник


Ответы (2)


A NumberFormatException is a RuntimeException.

Вы не должны обязаны указывать try/catch для исключений во время выполнения.

Из документа Java для RuntimeException:

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

Непроверенные исключения не нужно объявлять в предложении throws метода или конструктора, если они могут быть вызваны выполнением метода или конструктора и распространяться за границы метода или конструктора.

И я серьезно сомневаюсь, что какая-либо версия Eclipse требовала try/catch для кода, который вы показываете. Вы должны быть перепутаны с другим вызовом (возможно, оболочка, объявляющая исключение, тот факт, что исключение не проверяется, не означает, что вы иногда не должны его явно перехватывать, на самом деле этот, вероятно, чаще всего явно перехватывается) .

person Denys Séguret    schedule 21.01.2014
comment
+1. Также этот ресурс описывает три вида исключений: docs.oracle.com/ javase/учебник/основной/исключения/ - person Alexis C.; 21.01.2014
comment
Да, вы правы, это было другое исключение, спасибо за объяснение - person Max; 21.01.2014

См. документы:

введите здесь описание изображения

Это Исключение времени выполнения — должны быть проверены, поэтому компилятор не будет их проверять.

См. JLS — 11.1. 1. Виды исключений для получения дополнительной информации:

Непроверенные классы исключений — это классы исключений времени выполнения и классы ошибок.

person Maroun    schedule 21.01.2014