我打破我的頭這樣的:的Java抓被忽略
protected void setParameters(HttpServletRequest request) {
try {
page = Integer.parseInt(request.getParameter("p"));
}
catch (NumberFormatException | NullPointerException e) {
messages.add("Invalid page.");
}
try {
status = Integer.parseInt(request.getParameter("s"));
}
catch (NumberFormatException | NullPointerException e) {
messages.add("Invalid status.");
}
}
之前我把這種方法引入,它正在按照預期超類;但現在當我有一個查詢字符串沒有p參數(例如),異常(NumberFormatException)被拋出(如預期),然後捕獲第一個捕獲(如預期),然後重新拋出並被調用函數捕獲預計不會)。由於這個例外已經在這裏被捕獲,執行應該繼續。
我附上的截圖,你可以看到:在粉紅色
- :我的斷點綠色
- :作爲一個氣球我當前執行行
- :當前類型的異常,其清楚地說,這是一個NumberFormatException異常
個任何想法非常讚賞
更新:
謝謝,這是我的調用堆棧:Servlet的> UserListHandler> setParameters
UserListHandler()是一個構造器,看起來像這樣:
的Servlet看起來是這樣的:
我覺得有趣的是,servlet捕獲的異常是NullPointerException。
我的堆棧跟蹤的頂部是這樣的:
Mar 31, 2014 5:13:06 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [UserListServlet] in context with path [/App.Web] threw exception [java.lang.NullPointerException] with root cause
java.lang.NullPointerException
你可以顯示調用代碼和它捕獲處理的異常的任何證據嗎? –
你的堆棧跟蹤表明你的異常被提出了? –
顯然在別的地方也拋出異常。第一個例外,在屏幕截圖中,它不會逃脫catch塊。如果另一個被抓到某處,這意味着有兩個例外。 – Radiodef