2010-10-26 35 views
1

我試圖找到錯誤的根源在此跟蹤:null是否總是拋出在跟蹤中提到的最上面一行?

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) 

始終拋出在跟蹤中提到的最上一行空?

換句話說,這NullPointerException來自WikiServiceImpl.java:548而不是從WikiController.java:88

+1

雖然在那裏發生異常,但有時(通常)它發生是因爲您將null傳遞給了一個不期望得到它的API。 – 2010-10-26 19:15:55

回答

6

是的,跟蹤的頂部是異常來自的地方。堆棧跟蹤顯示每個方法的調用方式。

因此,就你的情況而言,在第548行的WikiServiceImpl.java中引發了NullPointerException,並且在那裏執行的方法是從WikiController.java第88行調用的,依此類推。

4

是的,它來自最頂端的行。

從那裏開始,每條線都表示調用上述方法。 See here有關堆棧跟蹤的更多信息。

檢查the possible reasonsNullPointerException - 那麼應該很明顯哪個對象導致異常。

+0

這是一個難題。特別是作爲一個足夠的答案是短於15個字符答案長度限制:) – extraneon 2010-10-26 19:11:49

+0

同意。這就是爲什麼我試圖提供一些額外的信息。 – Bozho 2010-10-26 19:14:50

0

是的。堆棧代表你在代碼中的位置。通話開始是底部並向上工作。

相關問題