當我聲明condition_variable
時,它可能會拋出std::system_error
。可以聲明POD類型拋出異常嗎?
但是當我聲明POD類型時(如int
,double
或float
)怎麼樣?
像下面的代碼:
int main()
{
//do something
int i; //will here throw exception?
}
如果聲明一個POD類型可能會拋出異常,我怎麼保證
void test() noexcept
{
//do something
int i;
}
是noexcept
?
你問有沒有辦法通過聲明一個變量來拋出異常? – AustinWBryan
是的。這就是我的意思。 – Caesar
聲明POD(普通舊數據:'int'等)類型不會拋出異常;但是,任何其他構造函數_may_都會拋出異常。檢查文檔。你可以看到['std :: condition_variable'](http://en.cppreference.com/w/cpp/thread/condition_variable/condition_variable)的構造函數可以拋出異常。 – Tas