Andrei 在 C++ User Journal 發表了幾篇關於 C++ error handling 的文章,蠻有趣的,也解決了一些困擾我很久的問題。
關於 Exception,大部分的人已經能夠接受其觀念,並且也被許多主流的的程式語言所支援。然而 Exception 帶來的似乎不是期待中的天堂,而是更多的困惑。也就是 Exception 解決了舊的問題,卻也帶來了新的挑戰。程序員慢慢地了解『撰寫 exception-safe 的程式碼卻不容易』,而解決的方法往往需要去使用一些非內建的機制,如 Andrei 所提到的方法。例如 C++ 中缺乏 finally 的支援就使我覺得非常困擾。
我想程式語言除了支援 Exception 外,還需再多提供一些錯誤處理的支援,像我就蠻喜歡 C# 中的 using (…) {}。