0

ShadowCanvas.getHeight() を実行しようとすると、ShadowWrangler.InvocationPlan.toString() で NullPointerException が発生します。

私のアプリコード:

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

例外をスローします:

メソッドが「java.lang.NullPointerException」例外をスローしました。com.xtremelabs.robolectric.bytecode.ShadowWrangler$InvocationPlan.toString() を評価できません

私が間違っていることはありますか?

4

1 に答える 1

0

これはデバッガーに表示されると思いますが、実際にコードを実行してもスローされませんか?

デバッガーは変数を表示するときにおそらくtoString()を呼び出しますが、toString()の実装で使用される値の一部はまだ初期化されていません。したがって、コンテンツの文字列を表示する代わりに、この例外を表示します。

コードで実際にtoString()を呼び出さない限り、この例外は実行時にスローされませんが、初期化されていない値は別の場所で問題になる可能性があります。

于 2012-07-30T16:12:44.930 に答える