近一年來受工作的關系看其他程序員的代碼的機會變多了,學習了不少東西,但同時也發現很多問題,其中我遇到的最多的就是對錯誤的處理態度。
1) 從不攔截錯誤;
這可能是最原始且是最不好的行為,他們總是認為自己的程序肯定100%不會出現問題,因為他們堅信自己的代碼考慮了一切可能的情況,這種理解我認為是非常危險的,翻翻你的代碼,看看是否考慮了以下常見的情況:
l 在只允許輸入數字的文本框裡你攔截了鍵盤事件,但用戶用右鍵粘貼了文本後你的程序正常嗎?
l 設置了Locked屬性的文本框用戶一樣可以粘貼,你的程序出問題了嗎?
l 磁盤空間不足、目錄只讀、沒有權限、目錄名中有小數點、系統采用了短日期甚至不標准的格式;
l 明明事先檢查了磁盤空間足夠,可用戶偏使用了什麼磁盤配額,還是磁盤空間不足;
l 用戶在你一段長時間的操作工程中等的不耐煩強行關機後重新運行你的這段程序;
l 你是否相信Access數據庫或SQL Server數據庫設置字段不能為空,但數據庫就會莫名其妙的有NULL值在裡面;
你所想象不到的情況太多了,所以說你永遠不可能考慮所有的情況。
2) 總是攔截錯誤;
這種情況和第一種情況恰恰相反,他會不厭其煩的在每個過程中都添加On Error Goto ,然後出錯的話報一個MsgBox框出來,我相信倆年以上五年以下工作經驗99%的VB程序員基本上都是這麼做的,也許馬上就有人立即站起來說:你剛才還說不可能考慮每一種情況,所以要攔錯,為什麼馬上反悔了呢?這裡我想提出我的第一個重要觀點: