2010-10-26 7 views
1

Je suis en train de localiser la source de l'erreur dans cette trace:La valeur null est-elle toujours affichée sur la ligne la plus haute mentionnée dans la trace?

org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver logException: Handler execution resulted in exception 
java.lang.NullPointerException 
    at com.wikistart.service.WikiServiceImpl.getWikis(WikiServiceImpl.java:548) 
    at com.wikistart.controller.WikiController.wiki(WikiController.java:88) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:43) 

Est-ce toujours le zéro jeté sur la ligne supérieure mentionnée dans la trace? En d'autres termes, ce NullPointerException provient de WikiServiceImpl.java:548 et non de WikiController.java:88?

+1

Alors que l'exception se produisait là, parfois (généralement) c'est arrivé parce que vous avez passé une valeur nulle dans une API qui n'en attendait pas. –

Répondre

6

Oui, le haut de la trace est l'origine de l'exception. La trace de la pile vous montre où chaque méthode a été appelée. Donc, dans votre cas, l'exception NullPointerException a été lancée dans WikiServiceImpl.java à la ligne 548, et la méthode qui y était exécutée a été appelée à partir de la ligne WikiController.java 88, et ainsi de suite.

4

Oui, cela vient de la ligne la plus haute. À partir de là, chaque ligne indique une méthode qui appelle ce qui précède.

See here pour plus d'informations sur les stacktraces.

Vérifiez the possible reasons pour un NullPointerException - il devrait alors être évident quel objet provoque l'exception.

+0

C'est une question difficile. D'autant plus qu'une réponse suffisante est plus courte que la limite de longueur de réponse de 15 caractères :) – extraneon

+0

convenu. C'est pourquoi j'ai essayé de fournir quelques informations supplémentaires. – Bozho

0

Oui. La pile représente où vous étiez dans vous étiez dans le code. L'appel commence est le bas et fonctionne vers le haut.