Как обойти исключение нулевого указателя?#JPF
Я пытаюсь запустить JPF и обнаружил следующее исключение нулевого указателя.
java.lang.NullPointerException at gov.nasa.jpf.vm.ThreadInfo$StackTraceElement.createJPFStackTraceElement(ThreadInfo.java:1671)
Код, соответствующий:
int createJPFStackTraceElement() {
if (ignore) {
return MJIEnv.NULL;
} else {
Heap heap = vm.getHeap();
ClassInfo ci = ClassLoaderInfo.getSystemResolvedClassInfo("java.lang.StackTraceElement");
ElementInfo ei = heap.newObject(ci, ThreadInfo.this);
ei.setReferenceField("clsName", heap.newString(clsName, ThreadInfo.this).getObjectRef());
ei.setReferenceField("mthName", heap.newString(mthName, ThreadInfo.this).getObjectRef());
ei.setReferenceField("fileName", heap.newString(fileName, ThreadInfo.this).getObjectRef()); //line 1671
ei.setIntField("line", line);
return ei.getObjectRef();
}
}
1 ответ
Есть два пути
- Ваш код должен содержать нулевую проверку, поэтому в первую очередь он проверит, является ли значение нулевым или нет, тогда будет решено, должен ли фрагмент кода выполняться или нет.
- или вы можете использовать попробовать поймать блок.