1
我想用一個類來引發異常,但必須拋出一個異常。我怎樣才能讓這個類,以便當引發異常時,它將值傳遞給處理程序?C++解析異常類中的參數
我想用一個類來引發異常,但必須拋出一個異常。我怎樣才能讓這個類,以便當引發異常時,它將值傳遞給處理程序?C++解析異常類中的參數
你可以實現你自己的異常類。
struct MyException
{
MyException(int v) : val(v) {};
int val;
};
...
try
{
throw MyException(5);
}
catch (const MyException& m)
{
assert(m.val == 5);
}
thx這就是我想要做的 – Melkon 2012-03-28 13:28:27
注意:建議按值拋出並按引用方式捕獲。 – Marius 2012-03-28 13:28:39
@MariusBucur:除了你實際上打算修改捕獲的異常(因此一般重新拋出異常)之外,還推薦從'std :: exception'繼承異常,引用catch可以擴展爲'const'引用。 – 2012-03-28 13:36:26