回复 8楼 wfoo
現在的語言提供異常處理語句,try/throw,不過我很少用這個,覺得沒什麽用。我寫程序對出錯的處理,通常是盡量檢測出可能出錯的情形,在代碼中預防,不讓它出現,而對代碼無法預防的錯誤,實際上也是沒有很好處理辦法的,衹能如舊式系統那樣,體面地退出了事,報告錯誤原因。C++11標準,其實也坦白沒有很好的處理辦法,發佈了允許限制彈出異常的關鍵字,主要原因有兩個,一個是異常機制從資源和時間上來說都消耗很大(大多數時間都能感受到彈出前的呆滯),另一個是異常之後基本上是很難返回原始現場的繼續的(能夠通過代碼返回的,都可以事先設計預防不致彈出異常)。比如像内存耗盡這類,根本是彈出異常也是沒卵用了;再如文件無法打開,沒有權限就怎麽處理也沒用,有些情景也不是文件不存在你就可以自作主張替用戶生成一個的;這些都不好處理,分支了也沒用。[此贴子已经被作者于2015-11-5 11:42编辑过]
授人以渔,不授人以鱼。