Я получаю ошибку IOException, и try-catch меня не спасает - PullRequest
0 голосов
/ 28 декабря 2018

Я получаю сообщение об ошибке IOException:

незарегистрированное исключение IOException, должно быть перехвачено или объявлено как выброшенное

Я искал ответы, но ни один из них не былполезно, поэтому я должен спросить.Отладчик указывает на эту строку:

public static Item item = new Item();

Только правая сторона выдает ошибку.Я попытался использовать try catch, но это привело только к большему количеству ошибок.Я также пытался взять эту строку внутри класса Menu, но ошибки происходят снова.Я почти уверен, что мне не хватает чего-то такого простого, но отчаянно пытаюсь спросить вас, ребята.

package proje;

public class Home extends Item  {
    public static Item item = new Item();
}

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Вы должны создать этот объект в статическом блоке или блоке экземпляра, потому что вы создаете статический объект и ваш конструктор класса Item выдает IOException, поэтому вы должны обрабатывать его в try catch.см. пример.

public static Item item = null ;
static 
{
    try 
    {
        item = new Item();
    } 
    catch (IOException e) 
    {
        e.printStackTrace();
    }
}

or

{
    try 
    {
        item = new Item();
    } 
    catch (IOException e) 
    {
        e.printStackTrace();
    }
}
0 голосов
/ 28 декабря 2018

Заменить

public static Item item = new Item();

на

public static Item item;
static {
    try {
        item = new Item();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...