在过去的几个月中,我现在已经三次收到该堆栈跟踪信息。只是以下三行:
java.lang.NullPointerException
at de.myapp.rec.MyThread.void run()(Unknown Source)
at java.lang.Thread.run(Thread.java:856)
我想知道这是否意味着方法
MyThread.run
得到了null
?还是NullPointerException
还有其他可能的原因?线程通过启动
myThread = new Thread(new MyThread());
Rec.threadWritingShouldContinue = true;
myThread.start();
线程的来源是关于:
class MyThread implements Runnable
{
@Override
public void run() {
while ( Rec.threadWritingShouldContinue ) {
int bufferSize;
/* Do some stuff with local variables
...
*/
try {
MyMain.fileIDwrite.write(Rec.bigBuffer, Rec.bigBufByteWritePtr, bufferSize);
} catch ( IOException e ) {
Rec.threadWritingShouldContinue = false;
}
}
}
}
使用调试信息进行编译将无济于事,因为它可以持续数周才能再次看到它。
最佳答案
我想知道这是否意味着方法MyThread.run为空?
不能。方法不能为空。
还是NullPointerException有其他可能的原因?
只有一种可能的原因。该代码取消了对空指针的引用。