Java Mysterious NullPointerException

时间:2012-08-10 19:36:45

标签: java

所以我的手上有一点神秘感。我将一些参数传递给方法但该方法永远不会执行。我已经检查过以确保没有任何参数本身为null。它甚至不执行方法中的第一行(简单的System.out.println())。知道问题可能是什么?

以下是审查中的方法:

public static void passedTest(String title, String startPhase, String endPhase,
            String startTime, String endTime, long startMilli, long endMilli, String testNum) {
        System.out.println("PASSED");
        endMilli = System.currentTimeMillis();
        totalLength += (endMilli - startMilli);
        passedCount++;
        try {
            out.newLine();
            out.write("Test Case " + testNum);
            out.newLine();
            out.newLine();
            out.write(title + " --- " + startPhase.toUpperCase() + " to "
                    + endPhase.toUpperCase());
            out.newLine();
            out.write("PASSED");
            out.newLine();
            out.write("__________________________________________");
            out.newLine();
            out.write("");
            out.newLine();
            out.write("\tSTARTED:  " + startTime);
            out.newLine();
            out.write("\tENDED:    " + endTime);
            out.newLine();
            out.write("\tDURATION: " + timeConverter(endMilli - startMilli));
            out.newLine();
            out.write("");
            out.newLine();
            out.write("--------------------------------------------------------------------------------------------------------------------------------------------------");
            out.newLine();
            out.write("--------------------------------------------------------------------------------------------------------------------------------------------------");
            out.newLine();
        } catch (IOException e) {

        }
    }

1 个答案:

答案 0 :(得分:7)

如果方法中的第一行未执行,则该方法不会被调用。有可能实际执行并且System.out已被重定向,因此它不会打印到控制台而是打印到其他地方。

拿一个调试器,在你认为调用 this 方法的所有代码行上设置一个断点,调试并进入该方法。也许你最终还是在其他地方......