1:所有的異常都是程序拋出的,不論是我們自己的程序還是c/c++運(yùn)行庫。底層c函數(shù)如果用錯(cuò)誤碼返回,我們?cè)诜庋b的時(shí)候應(yīng)該拋異常
2:正如你所說,在底層拋異常,在最上層捕獲異常,中間層一般是組件層不管,相關(guān)的clean up 析構(gòu)函數(shù)會(huì)處理的;
3:我們?cè)趻伄惓5臅r(shí)候應(yīng)該按某個(gè)功能邏輯拋,同一功能的異?梢越y(tǒng)一處理,例如記錯(cuò)誤日志,顯示錯(cuò)誤信息,回滾此功能邏輯;對(duì)于不同的功能邏輯,則拋不同的異常;至于怎么才算是同一個(gè)功能,要具體分析了。