【问题标题】:InterruptedException bringing up NullPointerException in printStacktrace j2meInterruptedException 在 printStacktrace j2me 中引发 NullPointerException
【发布时间】:2012-02-04 00:56:11
【问题描述】:

我正在处理 j2me 中的一个 midlet,并且我有这个线程类(比如称为 chan),它只执行以下操作:

public class Chan extends Thread {

    public void run(){
        try {
            Thread.sleep(5000);
        } catch (InterruptedException ex) {
          System.err.println("Chan thread woke up " + ex.toString());
                    ex.printStackTrace();
           System.err.println("Stacktrace end");
        }
    }
}

我正在尝试 chan.interrupt();从仅执行以下操作的主要 midlet 代码:

public void startApp() {

    Chan ch = new Chan();
    ch.start();

    try {
        Thread.sleep(1000);
    } catch (InterruptedException ex) {
        System.err.println("error interrupting: "+ ex.toString());
        ex.printStackTrace();
    }
    ch.interrupt();
}

我收到的是这样的:

Chan thread woke up java.lang.InterruptedException  
java.lang.InterruptedException  
java.lang.NullPointerException
    at org.netbeans.mobility.antext.StackTraceTranslator.getLineNumber(StackTraceTranslator.java:219)
    at org.netbeans.mobility.antext.StackTraceTranslator.translate(StackTraceTranslator.java:121)
    at org.netbeans.mobility.antext.RunTask$StackTraceTranslatorHandler$1.flush(RunTask.java:780)
    at org.netbeans.mobility.antext.RunTask$StackTraceTranslatorHandler$1.run(RunTask.java:826)
    at java.lang.Thread.run(Thread.java:722)`

提到的那一行在 Thread 的 run 方法中:

public void run() {
    if (target != null) {
        target.run(); <-- 722nd line 
    }
}

除了奇怪的堆栈跟踪之外,程序中的一切似乎都运行良好。如果我只是删除 Chan 线程中的printStacktrace,则不会打印这样的 nullpointerException。

所以我不明白这个 nullpointerexception 试图告诉我什么,也不明白为什么 interruptedexception 的堆栈跟踪是 1 行而其余的跟踪丢失了。

模拟器是 Oracle Java(TM) Platform Micro Edition SDK 3.0.5,我正在使用 Netbeans

【问题讨论】:

    标签: java exception netbeans java-me printstacktrace


    【解决方案1】:

    这是 Netbeans 中的一个错误:

    http://netbeans.org/bugzilla/show_bug.cgi?id=170792

    已解决,请尝试升级到最新版本的 Netbeans。

    【讨论】:

    • 它在您的链接上说它已在 7.0.1 中解决,这是我正在使用的版本。 - Nvm,一位朋友刚刚尝试过 7.1,它可以工作。如果我尝试 7.1,让我验证它是否有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-14
    • 1970-01-01
    • 2018-07-05
    • 2012-08-23
    • 2012-09-22
    • 2021-03-07
    • 1970-01-01
    相关资源
    最近更新 更多