Отключить сообщение об ошибке / предупреждение в Eclipse Java Neon - PullRequest
0 голосов
/ 20 октября 2018

Я работаю со следующим кодом в Eclipse:

public class Foo {
    public static final Bar bar = new Bar(20);
}

public class Bar {
    public int value;

    // This needs to be able to be called in places other than
    // just Foo, and there it will need to throw.
    public Bar(int value) throws Exception {
        if(value == 0) {
            throw Exception("Error. Value cannot be 0 when constructing Bar.");
        }
        return;
     }
}

Это выдает мне сообщение об ошибке в Foo (строка 2), которое говорит: «Исключение необработанного типа исключения», хотя на практике этоисключение никогда не произойдет с этим кодом.Могу ли я отключить эту ошибку в Eclipse, чтобы она меня не беспокоила, или есть другой способ справиться с этой ошибкой?

Заранее спасибо за ответы!

Ответы [ 2 ]

0 голосов
/ 20 октября 2018

Это ошибка компилятора, которую необходимо исправить, чтобы скомпилировать код Java, и это не проблема Eclipse: проверенные исключения требуют явной обработки в Java, заключив ее в try - catch или передать исключение (метод / конструктор throws ...).

Если класс Bar изменить нельзя,одной из возможностей будет использование частного статического метода для инициализации константы bar (которая должна быть названа BAR в соответствии с соглашениями об именах Java):

public class Foo {

    public static final Bar BAR = initBar(20);

    private static Bar initBar(int value) {
        try {
            return new Bar(20);
        } catch (InvalidCharacterException e) {
            return null;
        }
    }

}
0 голосов
/ 20 октября 2018

Окружите конструктор try / catch, чтобы поймать исключение.

Примерно так:

public class Foo {

try {
    public static final Bar = new Bar(20);
}catch(InvalidCharacterException e) {
    e.PrintStackTrace();
}

Должно исправить вашу проблему.Не стесняйтесь отвечать, если это не так, и я постараюсь помочь вам в дальнейшем.

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