問題(Question):
除了使用STL或是第三方函式庫,我會特別注意需不需要catch例外以外,自己編寫
程式大多都還是用旗標或返回值的方式來處理錯誤,因為我對什麼情況下該使用例
外處理其實沒有什麼概念。
比方說書上在介紹例外處理的章節,大多都採用除0錯誤當成範例,但除0錯誤可
以藉由運算前檢查除數來避免,為什麼會特別為此定義一個例外呢?還有像是
fstream若開檔失敗,則是藉由檢查實例來偵測,為什麼不拋出std::system_error
來作為表示呢?因為沒辦法從中抓到一個明確的規律或依據,我不太懂得什麼樣
的場合或情境,使用例外處理而不是判斷旗標或返回值。
請問關於這部分是不是有什麼技巧或經驗可以請各位先進提點一下呢?
謝謝。