你是否會有這樣的工作經歷,我們寫的代碼很多是由於對最基本的知識沒有太在意從而導致很到的bug,在我的實際工作中就遇到這樣的問題.對異常的處理不當,早成不經常出現的bug.
背景:我們開發的軟件的某一模塊是在手機的屏幕上方由多個tab由左到右排列組成,而各個tab在切換的時候對應數據的獲取處理不一致,有的是直接讀rms,有的tab是需要向服務器發請求,從服務器取得數據再畫到手機屏幕上面.
現象:切換tab的時候由於對異常的處理沒有做嚴格的嚴格控制,造成切換tab的時候偶爾會出現異常提示語不一致的現象,甚至上一tab的異常提示語會顯示在下一沒有發生異常的tab界面.
以前的處理是這樣的
try{
}catch(XXXException e){
//在手機屏幕提示用戶
}
顯然這樣的處理看上去沒有任何的邏輯問題,可是由於終端的硬件限制,如:手機的內存小,手機連網環境,特殊機型拋出的異常特別等等,就很容易造成這樣的bug發生,
這樣的bug怎麼處理呢?這裡就只講講由於內存和連網環境早成的處理,至於特殊機型沒有整理全,就不亂說了,如果你有更好的想法,歡迎給我留言.
給各個tab設置對因的標識符,在拋異常的時候再做一次判斷就搞定了
try{
}catch(XXXException e){
if( 是符合條件的tab){
//在手機屏幕提示用戶
}
}