J2ME NullPointerException未被捕获

时间:2011-04-15 19:22:52

标签: java-me

try{
        imgball = Image.createImage("/ball.jpg");
        //imgpad = Image.createImage("/ball.jpg");
    }
    catch(Exception e)
    {}

上面的代码按原样运行。但是当我打开imgpad语句时,它给出了未捕获NullPointerException的错误?有什么不对?

P.S。我在一个不同的线程工作。如果那很重要。

3 个答案:

答案 0 :(得分:0)

NullPointerException(NPE)必须在代码中稍后。您的catch块将在图像加载期间捕获任何NPE。

答案 1 :(得分:0)

正如mdma所提到的,NullPointerException必须更晚,因为当Image.createImage("/ball.jpg");失败时,它会抛出你捕获的异常。由于您抓住它然后什么都不做,imgball的值将被取消(null)。

由于您使用的是其他线程,因此您可能很快就会访问该变量,但我认为上述原因更准确,因为imgball可能始终无法创建,因为您将其赋予绝对路径。

答案 2 :(得分:0)

确定。这是我的错。我想在此明确表示让其他人知道。

我犯的错误实际上来自主线程。我写了以下内容:

        refcan = new ReflectCanvas(2); 
        d.setCurrent(refcan);

我正在构造函数ReflectCanvas()中加载图像。所以它可以承受一个图像的速度,但不是两个:)