【題目】C++異常處理分析

void fun()
{
	try
	{
		cout<<"除零try"<<endl;
		int zero = 0;
		int f=1/zero;
	}
	catch(int )            
	{
		
	}
}
int main(int argc, char* argv[]) 
{
	try                         //如果沒有異常,則跳過後面的所有catch語句塊
	{
		fun();
	}
	catch(...)                  //捕獲所有異常,
	{
		cout<<"主函數調用";
                  //throw;             這個捕獲沒有處理,可以傳給外層或者下一級進行處理。
	}

}

【點評】內層函數,沒有捕獲到異常,則自動調用外層的catch捕獲異常。另外throw可拋出類型或者參數,比如class a;throw a;

string s = "sss", throw s;  但是在catch中必須是相同的類型或引用才能接收。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章