gpt4 book ai didi

java - InterruptedException 在 printStacktrace j2me 中引发 NullPointerException

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:23:33 27 4
gpt4 key购买 nike

我正在处理 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

最佳答案

这是 Netbeans 中的一个错误:

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

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

关于java - InterruptedException 在 printStacktrace j2me 中引发 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9137472/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com