Как обойти исключение нулевого указателя?#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 ответ

Есть два пути

  1. Ваш код должен содержать нулевую проверку, поэтому в первую очередь он проверит, является ли значение нулевым или нет, тогда будет решено, должен ли фрагмент кода выполняться или нет.
  2. или вы можете использовать попробовать поймать блок.
Другие вопросы по тегам