2012-05-18 2 views
0

Lorsque vous essayez d'exécuter ShadowCanvas.getHeight(), je reçois un NullPointerException dans ShadowWrangler.InvocationPlan.toString()Robolectric - ShadowCanvas - NullPointerException sur InvocationPlan.toString()

Mon code d'application:

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

Exception de jetons:

La méthode a lancé l'exception 'java.lang.NullPointerException'. Ne peut pas évaluer com.xtremelabs.robolectric.bytecode.ShadowWrangler $ InvocationPlan.toString()

Toutes les idées que je fais mal?

Répondre

0

Je suppose que cela apparaît dans votre débogueur mais ne se lance pas lorsque vous exécutez le code?

Le débogueur appelle probablement àString() lors de l'affichage des variables, et une certaine valeur utilisée dans l'implémentation de toString() n'est pas encore initialisée. Ainsi, au lieu de vous montrer la chaîne du contenu, il montre cette exception.

Sauf si vous appelez réellement toString() dans le code, cette exception ne sera pas levée lors de l'exécution, bien que la valeur non initialisée puisse être un problème ailleurs.

Questions connexes