2012-04-19 85 views
0

我與他們給我來嘗試解決這些錯誤代碼的工作,但是到現在爲止,也就是拋出的異常只發送給我所在行顯示java.lang.NullPointerException錯誤所在

log.error("Error saving data: " + e.toString()); 

是。我不知道如何找出正確的行,因爲e.printStackTrace()不輸出任何東西。功能是這個部分:

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException {... 

try {... 
} catch (Exception e) { 

     e.printStackTrace(); 
     log.error("Error al almacenar los datos de usuario: " + e.toString()); 
    } 

但在中間我找不到任何引用異常。我如何獲得「catch」部分來向我顯示錯誤的位置?

+0

什麼堆棧跟蹤說:

另外,還可以通過使用記錄作爲zaga250說,記錄異常? – Dan 2012-04-19 14:57:31

+5

*「e.printStackTrace()不輸出任何內容。」*我發現***很難相信。 – 2012-04-19 14:57:42

+0

提供發生異常的方法代碼。 – Shehzad 2012-04-19 14:59:12

回答

5

你需要異常堆棧跟蹤傳遞給你的記錄。如果您鍵入e.printStackTrace()它把堆棧跟蹤System.err的

正確的方法是寫東西,

log.error( 「您的信息」,E);

和log4j的將處理對象E,並打印堆棧跟蹤你的記錄。

+0

非常感謝你,它的工作!讓人們真正回答你的問題並沒有指出「我覺得很難相信」這很好,謝謝 – Stefano 2012-04-20 08:18:14

0

你找錯了地方。

堆棧跟蹤將被寫入在標準錯誤去的文件。

如沒有按照您使用它(如果有的話),但大多有某種形式的stderr.out文件說。

log.error("errrr", e); 
相關問題