一次一次的排除錯誤早已成了習慣性的動作,一天兩天甚至乙個月都很難找到錯誤的原因,在上萬行的**中更是如此。也許錯誤是滄海一粟,那麼就會考驗耐心。
如下有一串**:
這段**的意思是將資料以csv的形式儲存起來,它使用的是軟體提供商的類庫。
tryif
(i >0)
}csvwriter.write(strfirsttitle, lstcsvdata);
} catch(exception)
finally
if(objbaostream
!=null
出現的問題是檔案出來了,但是資料沒有載入,其實很簡單,類已經get異常,但是卻什麼也沒有做,**繼續往下執行導致了這樣的結果。
這樣的情況還有很多態別。
1.預防的方法不適用於出現的異常或錯誤。
2.出現的異常或錯誤過於巨集觀。
當然這樣的方式還有很多情況,換句話講,我們不應該預防錯誤,而應該主動的將其爆發出來。這樣的方式有如下的幾點好處:
1.方便了測試。
2.降低了偶然性錯誤,降低了時間性錯誤。
3.降低了後期維護的成本。
當然好處不止這麼多,但是我們要做的需要如下幾點:
a:採用預防性思維但是不要採用預防性程式設計。
b:制定文件,針對各種型別的錯誤制定解決方案,這樣可以達到程式的規範性。
c:程式開發之時要採用,注釋之類的標籤,也可制定既定方案。
d:最後產品交付之時採用統一處理方式。
小扎進攻性酷似蓋茨 無法收購的初創公司直接碾碎
在上世紀90年代,人們熱衷於傳播把比爾 蓋茨 bill gates 畫成博格人的。博格人是好萊塢大片 星際迷航 下一代 star trek the next generation 中最大的半機械人大反派。在博格人攻擊前,他們通常會發出它們那臭名昭著的警告 你們的生物和科技特質將會變成我們的。你們的抵...
SQLSERVER學習筆記 進攻式程式設計
一般的程式語言建議是進行防禦式程式設計,在開始處理之前先檢查所有引數的合法性。但實際上,對資料庫程式設計而言,盡量同時做幾件事情的進攻式程式設計有切實的優勢。我們sp中常見的防禦式程式設計示例 場景一 判斷資料是否存在 注 c為乙個不可空欄位 if notexists select top 1 1 ...
軟體程式設計規範總則 4 可讀性
4 1 注意運算子的優先順序,並用括號明確表示式的操作順序,避免使用預設優先順序。說明 防止閱讀程式時產生誤解,防止因預設的優先順序與設計思想不符而導致程式出錯。示例 下列語句中的表示式 word high 8 low 1 if a b a c 2 if a b c d 3 如果書寫為 high 8...