可能已经为最终变量分配了

时间:2018-05-03 17:33:21

标签: java variables try-catch final

我有一个变量,原因必须是final。但是在尝试为其分配值时,可能会抛出Exception ,在这种情况下我需要它为0.所以我尝试了类似的东西。

private static final int x;

static {
    try {
        x = (1 / 0);
    } catch (Exception e) {
        x = 0; //error line
    }
}

令人惊讶的是,它给了我一个编译时错误,

  

变量x可能已经被分配。

我无法理解这一点,x只能在try块或catch块中分配,可能还有哪些值可以分配给x?我该如何克服这个问题?

编辑:

此问题的最佳答案是here用户NPE

0 个答案:

没有答案