Robolectric - ShadowCanvas - InvocationPlan.toString()上的NullPointerException

时间:2012-05-18 17:03:34

标签: android reflection robolectric

当我尝试执行ShadowCanvas.getHeight()时,我在ShadowWrangler.InvocationPlan.toString()中得到一个NullPointerException

我的应用代码:

public float getCanvasHeight() {
    return mCanvas.getHeight();
}

抛出异常:

  

方法抛出'java.lang.NullPointerException'异常。不能   评估   com.xtremelabs.robolectric.bytecode.ShadowWrangler $ InvocationPlan.toString()

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:0)

我猜测这会显示在你的调试器中但是在你实际运行代码时却没有被抛出?

调试器在显示变量时可能会调用toString(),并且在toString()的实现中使用的某些值尚未初始化。因此,它不显示内容的字符串,而是显示此异常。

除非您在代码中实际调用toString(),否则在运行时不会抛出此异常,尽管未初始化的值可能是其他地方的问题。