Re: [問題] 例外處理

看板C_and_CPP (C/C++)作者 (CA)時間16年前 (2009/05/30 18:49), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
※ 引述《os653 (allstar)》之銘言: : 其他常見的方法好像就 return error code 跟 throw exception : 可是這兩種方法的問題也實在蠻多的 : 所以想請有經驗的人解說一下,一般大程式的處理方式是什麼 C++的分類大概是三種 1. error codes 2. assertions 3. exceptions : 我個人是傾向 error code 多一些啦,畢竟 exception 很難寫 基本上是看狀況,在 module 內部大部分是推薦 exception 不過也有的 coding standard 是禁止使用 exception (比方說Google) error code 缺點就是很容易被忽略,且不能用在有固定簽名的地方 (EX: Constructors, operators) 但是相容度最高,一般建議是用在 module 介面上 assertion 基本上是一旦發生整個程式就 bye 了 通常只用在非常嚴重的錯誤 Exception 在 C++ 中的缺點 一是 C++ 沒有 GC 所以很難保證所有資源都會被正確回收 二是它會造成奇襲的效果 有可能會傳播到 callback funtion 外部(而 host 可能是用 C 寫成) 或是跨 module 傳播 但是它有前二者的優點 無法被悶聲不響的忽略 被忽略就會 abort -- 自High筆記(半荒廢) http://legnaleurc.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.127.21.174
文章代碼(AID): #1A8GzLn4 (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 4 篇):
文章代碼(AID): #1A8GzLn4 (C_and_CPP)