今日照例巡檢系統,打開系統的匯聚首頁,發現數據都消失了,於是查看其他服務器上部署的版本也出現了同樣的問題,而其他功能並未受影響,排除後臺服務掛掉的可能,內心生出疑問一直運行穩定的程序怎麼突然都查不出來內容了呢?
趕緊查看系統運行日誌,果然看見了報錯信息
java.lang.NumberFormatException: For input string: "2315841207"
於是趕緊確認了下int數據類型的存儲範圍是(-2,147,483,648 —2,147,483,647)。而我要轉換的數據是(2,3158,41,207),轉換的數值超出了int型的取值範圍,以下是出現bug的代碼
Integer rowNum = Integer.parseInt(map.get("rownum").toString());
數據每日遞增,日積月累,bug顯現,設計數據庫表字段和功能開發的時候覺得int型應該就足夠了,沒有想到,沒有想到啊!