嗯,我一直在閱讀this文章,討論如何避免異常處理的錯誤,似乎不錯,但有一點我堅持了澄清,他這樣說它是很好的參照拋出一個異常對象
當引發異常並且控制從try塊傳遞到 處理程序時,C++運行時調用自try塊開始以來構造的所有自動對象 的析構函數。
而一個它似乎表明,通過引用在catch得到拋出的對象的另一點是,因爲它避免存儲管理和複製好的做法,似乎什麼奇怪,我是
try
{
Object o;
//make error..
throw ref(o);
}catch(Object & p)
{
//do some handle..
}
有什麼比較時說這將是很好的去與上面的代碼並不是所有的對象內部構建的嘗試展開,當它達到拋出或它會放鬆後捕捉?
扔價值。抓住參考。 –
什麼?從參考文獻:「錯誤#6:不按價值拋出異常」, –