作者ga718293 (嫩b福)
看板C_and_CPP
標題[問題] C++ Primer
時間Mon Jan 14 17:37:46 2013
第6.13.1 這章
第二個程式碼:
if ( !item1.same_isbn(item2) )
throw runtime_error( "Data must refer to same ISBN" );
小弟想請問一下 runtime_error 是 object 還是 class??
底下有寫到:
A throw takes an expression.
In this case,that expression is an object of type runtime_error.
這句話說他是一個 object 沒錯吧?
但是6.13.3卻說runtime_error是一個class
背定義在<stdexcept>表頭...
ps:書是第4版
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.37.160.33
推 EdisonX:runtime_error 是 class , 然後你這兩個例子都是用到 01/14 18:10
→ EdisonX:constructor,explicit range_error (const string& what); 01/14 18:11
推 EdisonX:所以 throw 出去後,經過 ctor, 就變一個物件 (補清楚..) 01/14 18:16
→ ga718293:原來如此 謝謝分析!! 01/14 19:44
→ MOONRAKER:「錯」是class。「這個錯」是object。 01/14 23:46