被was坑慘了,websphere下面報webapp.WebApp logError SRVE0293E: [Servlet Error]-[null]錯誤。


 

具體報錯信息如下:

 

webapp E com.ibm.ws.webcontainer.webapp.WebApp logError SRVE0293E: [Servlet Error]-[null]: com.ibm.ws.webcontainer.webapp.WebAppErrorReport:
at com.ibm.ws.webcontainer.webapp.WebAppDispatcherContext.sendError(WebAppDispatcherContext.java:624)
at com.ibm.ws.webcontainer.srt.SRTServletResponse.sendError(SRTServletResponse.java:1071)
at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:770)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505)

 

誰能看明白這個錯誤信息的含義?反正我是被坑了,網上也找不到答案。

 

現在我知道是什么原因了,讓我來總結一下:

第一,有個關鍵信息是WebApp,說明它是應用端自身的一個error

第二,報錯的地方不明確,websphere上調試也極為不方便(太耗時間了),通過打印日志的方式,定位到了錯誤所在的行。

不過很是蹊蹺,那一行既然報錯了,但是為什么沒有被外層的try-catch捕獲呢?,而且那一行看起來沒有問題啊!

 

哦,我好想明白了,是try-catch捕獲的力度不夠,錯誤的等級比Exception還要高,也就是說要用Throwable錯誤,趕緊試試看!

沒錯,事實證明了,是個Throwable類型的錯誤,因為我改動了接口類而沒有更新class文件,導致暴出了一個Throwable類型的錯誤!

 

這真的是被坑慘了…………總結經驗:

1、有些地方要用Throwable來捕捉錯誤。(看具體的情況,是否引用了接口,但是又找不到實現類?)

2、日志記錄要全面,便於定位問題。為了避免每次都要修改代碼,可以事先設置較全面的日志,上線時關閉,調試時可打開(開關放在數據庫中)。

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM