最近做網(wǎng)關(guān)系統(tǒng)對(duì)接第三方服務(wù),由于第三方系統(tǒng)網(wǎng)絡(luò)問題,讀取對(duì)方響應(yīng)超時(shí)導(dǎo)致大量超時(shí)重發(fā)。在第二次重發(fā)時(shí),第三方系統(tǒng)會(huì)報(bào)數(shù)據(jù)已存在錯(cuò)誤。
為了解決這個(gè)bug,我嘗試在第二次收到數(shù)據(jù)已存在錯(cuò)誤時(shí),報(bào)給上層應(yīng)用成功。
但我在修bug的同時(shí)引入了一個(gè)bug:沒有判斷字段是否存在,導(dǎo)致拋NPE異常。
由于我之前寫代碼時(shí)不夠重視,檢查到空字段都是讓直接拋NPE異常,然后加日志監(jiān)控。之前很多NPE異常,都是網(wǎng)絡(luò)數(shù)據(jù)錯(cuò)誤,所以我也不是很重視。
結(jié)果遇到坑了。這個(gè)bug一直報(bào)警,我也一直沒在意,結(jié)果導(dǎo)致了長達(dá)一晚的報(bào)警!好在有重試機(jī)制,否則后果不堪設(shè)想!
總結(jié):經(jīng)驗(yàn)很重要!代碼規(guī)范很重要!我一直都是自己修bug自測完就上線,這次就踩坑了,流程很重要!