Eclipse - обработка исключений Java, как в NetBeans - PullRequest
0 голосов
/ 28 апреля 2010

Я недавно перешел из NetBeans в Eclipse, и мне очень не хватает одной замечательной функции - всякий раз, когда я использую метод, который вызывает какое-то исключение, NetBeans предупреждает меня, и мне нужно добавить try-catch, и NetBeans автоматически генерирует тип исключения для меня. Есть ли что-то похожее на Eclipse?

f.e. : Integer.parseInt(new String("foo"));

Предупреждения NetBeans, мне нужно перехватить NumberFormatException.

Затмение меня совсем не предупреждает

Я использую Eclipse Java EE IDE для веб-разработчиков, 3.5 - Galileo

Ответы [ 2 ]

3 голосов
/ 28 апреля 2010

Это, безусловно, делает. Конечно, перед этим нужно нажать «сохранить» (CTRL + S).

Конечно, вы не должны были объявлять метод для выдачи этого исключения (например, throws Exception)

Также убедитесь, что вы выбрали Project > Build automatically.

Важно : Вы не объявляете и не перехватываете RuntimeException или его подклассы - это непроверенные исключения, и для них затмение по праву не предлагает никаких опций. NumberFormatExceptions является одним из них.

Попробуйте методы FileInputStream, например, где IOException - проверенное исключение - выдается.

(для справки - NetBeans также ничего не делает для Integer.parseInt(..))

1 голос
/ 28 апреля 2010

Eclipse полагается на ошибки компилятора, предлагая исключение try / catch, а NumberFormatException расширяет RuntimeException, которое не выдает ошибку, если оно не окружено блоком try / catch (чтобы не помещать все в блоки - подумайте о NullPointerException, который также является RuntimeException и все, что может его вызвать).
Цитата из javadoc: «RuntimeException - это суперкласс тех исключений, которые могут быть выброшены во время нормальной работы виртуальной машины Java.

Метод не обязан объявлять в своем предложении throws любые подклассы RuntimeException, которые могут быть выброшены во время выполнения метода, но не перехвачены.
Если вы попытаетесь сделать что-то вроде

FileInputStream f = new FileInputStream("");

, который выдает FileNotFoundException и не расширяет RuntimeException, вы получите ошибку компилятора и предложение от eclipse использовать блок try / catch или объявить, что метод включения также выдает это исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...