C++異常拋出與捕獲及處理


一、異常

  迄今為止,我們處理程序中的錯誤一般都是用if語句測試某個表達式,然后處理錯誤的特定義代碼。 

 

 

C++異常機制使用了三個新的關鍵字  (SEH(結構化異常處理))

try    ──標識可能出現的異常代碼段

throw  ──拋出一個異常

catch  ──標識處理異常的代碼段

 

提示:

 使用異常處理將帶來更多的系統開銷。因此慎用異常。

二、拋出異常

throw

throw必須在 try代碼塊中.后邊跟的值決定拋出異常的類型。

三、捕獲異常

catch  

出現在try代碼塊后,后邊跟的數據決定捕獲的類型

catch(...) //表示捕獲所有異常

int _tmain(int argc, _TCHAR* argv[])
{ 
	 int a,b;
	 a=333;
	 b=0;
	 try
	 {
		 if (b==0)
		 {
			 //錯誤處理
			 throw "出錯,除數為0了";
			// throw 111.0;
		 }
		 printf("%d",a/b);
	 }
	 catch(char *s)
	 {
       //錯誤處理
	 }
	 catch (int i)
	 {
		 //整型錯誤代碼 處理
	 }
	 catch(...)
	 {
		 //所有異常類型
	 }
	
	getchar();
	return 0;
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM