我收到IOException错误并且try-catch无法保存我

时间:2018-12-28 07:47:34

标签: java exception

我收到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 :(得分:0)

您必须在静态块或实例块中创建此对象,因为要创建静态对象,并且Item类构造函数会抛出IOException,因此必须在try catch中对其进行处理。 参见示例。

import datetime
import pendulum

def convert_tz(obj, tz):
    for each in obj.__dict__:
        d = getattr(obj, each)
        if isinstance(d, datetime.datetime):
            setattr(obj, each, tz.convert(d))

order = Order.query.get(order_id)
tz = pendulum.timezone(user.timezone)
convert_tz(order, tz)

答案 1 :(得分:-2)

替换

public static Item item = new Item();

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