我只想講講我在項目中遇到問題,並不仔細分析和研究。
今天項目啟動,報了個NullPointException,然后項目就結束運行了,后來在大哥的指導下加了個catch,因為這是一個定時器導致的,而這個定時器是進行了頻繁的http請求,如果網絡不穩定,數據獲取失敗,這個NullPointExcepion是可能經常性的,然后后面因為我代碼中並沒有對這個可能產生的空指針進行處理,所以這個異常一致往上拋,最后就到了最外層導致了程序的運行結束。這個可以理解成我們寫一個main方法,然后直接throws異常,出了異常這個main方法就直接掛了。
但是我們如果寫一個catch,我們自己處理這個異常而不是把他拋出,例如只在catch中log.error(e.getMessage),那么只會把異常信息寫入日志,而不把異常拋出到最外層,就能確保程序的正常運行,因為我們不能因為一個不穩定的定時器就導致整個程序結束,然后一出現異常就要求重啟服務器。