错误 - 未处理的异常类型异常

时间:2014-11-22 10:26:31

标签: java exception

我目前正在为游戏创建一个插件,由于某些未知原因,我在初始化变量dbManager时遇到错误。

变量是第二个被初始化的变量,它位于我班级的顶层。 给出错误的行是:

static DBManager dbManager = DBManager.getInstance();

The whole class can be found here.

它调用DBManager

我尝试将它包装在try,catch块中,但这本身就给出了它自己的错误。 Eclipse也没有提供任何自动正确的建议。

我得到的错误是Unhandled exception type Exception。由于这是一个插件,我目前无法测试此代码以获取任何堆栈跟踪。

我该怎么做才能解决错误。

2 个答案:

答案 0 :(得分:1)

使用静态块初始化此变量:

static DBManager dbManager;

static {
    try {
        dbManager = DBManager.getInstance();
    }
    catch (Exception e) {
        throw new RuntimeException("Unable to geta DBManager instance", e);
    }
}

不过,我不会使用使用原始Exception类来表示错误的库。使用非最终静态字段就是另一种设计气味。

答案 1 :(得分:0)

虽然我无法看到来自DBManager的代码,但是此错误表明存在unhandled exception这意味着DBManager.getInstance()会抛出异常而您无法像在链接中那样使用它。你必须处理这个例外。最好在构造函数中获取实例并在那里处理异常(至少使用try/catch)。