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 за изключения по време на изпълнение.

От javadoc на RuntimeException:

RuntimeException е суперкласът на тези изключения, които могат да бъдат хвърлени по време на нормалната работа на Java Virtual Machine. RuntimeException и неговите подкласове са непроверени изключения.

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

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

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

Вижте документи:

въведете описание на изображението тук

Това е изключение по време на изпълнение - това не е трябва да се провери, така че компилаторът няма да го провери.

Вижте JLS - 11.1. 1. Видовете изключения за по-ценна информация:

Непроверените класове на изключения са класовете на изключения по време на изпълнение и класовете на грешките.

person Maroun    schedule 21.01.2014