異常:java.lang.reflect.InvocationTargetException


在產生這個問題的時候,以為是代碼某個類又改動了。但是對比了git,發現並沒有改動,測試環境代碼照跑,故又重新拉了一份重新部署,仍然報同樣的錯。解決過程中,試了以下網上各種方法,均無效果。

1、包重復、缺失;(都是跑了倆禮拜的項目了,突然少包什么的可能性不大)

2、jdk問題;(設置翻了一遍,發現都是8,也沒有問題)

3、映射文件發生改變。(沒有類的改動,也沒有映射文件的改動,排除)

 

后來又看見一個解釋,說的是當被調用的方法內部拋出異常未被捕獲時,會拋出這個異常,且通常,拋出InvocationTargetException是NullPointerException;在debug的過程中,發現之前的一個if語句,在

 

 

判斷的時候拋出的這個異常:

發現,此處map.get("issued_target")的issued_target我傳入了空值,即此處的值為null。

后來,在控制台,一條條翻看,終於看見具體的報錯信息

img

所以,此處的問題就是這個判斷拋出的NullPointerException。

解決方法:

判斷改成: "0".equals(map.get("issued_target"))

接着重新編譯,測試,通過。

總結:如果可以排除是環境或者文件問題,不妨查查你的代碼,是否存在*NullPointerException**問題。(另:如果變量可能為null,建議遵循"常量".equals(變量),盡量避免空指針錯誤。)*


免責聲明!

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



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