黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
華為認證 | Java認證
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平
駕駛員 | 網絡編輯
衛生資格 | 執業醫師 | 執業藥師 | 執業護士
會計從業資格考試會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師
注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師
質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師
設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師
城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
您現在的位置: 考試吧(Exam8.com) > 計算機等級考試 > 計算機二級 > C加加 > 實例編程 > 正文

2011年計算機等級考試二級C++輔導實例編程(13)

來源:考試吧Exam8.com) 2010-12-20 9:22:13 考試吧:中國教育培訓第一門戶 模擬考場
考試吧整理了2011年計算機等級考試二級C++輔導實例編程,幫助考生備考。

  // 代碼清單1-1

  1 #include //包含頭文件

  2 #include

  3 double fuc(double x, double y) //定義函數

  4 {

  5 if(y==0)

  6 {

  7 throw y; //除數為0,拋出異常

  8 }

  9 return x/y; //否則返回兩個數的商

  10 }

  11 void main()

  12 {

  13 double res;

  14 try //定義異常

  15 {

  16 res=fuc(2,3);

  17 cout<<"The result of x/y is : "<

  18 res=fuc(4,0); //出現異常,函數內部會拋出異常

  19 }

  20 catch(double) //捕獲并處理異常

  21 {

  22 cerr<<"error of dividing zero.\n";

  23 exit(1); //異常退出程序

  24 }

  25 }

  【范例2】自定義異常類型 (在本文開始的代碼中已經給出示范)

  三、異常的接口聲明

  為了加強程序的可讀性,使函數的用戶能夠方便地知道所使用的函數會拋出哪些異常,可以在函數的聲明中列出這個函數可能拋出的所有異常類型,例如:

  void fun() throw( A,B,C,D);這表明函數fun()可能并且只可能拋出類型(A,B,C,D)及其子類型的異常。

  如果在函數的聲明中沒有包括異常的接口聲明,則此函數可以拋出任何類型的異常,例如:void fun();

  一個不會拋出任何類型異常的函數可以進行如下形式的聲明:

  void fun() thow();

  五、異常處理中需要注意的問題

  1. 如果拋出的異常一直沒有函數捕獲(catch),則會一直上傳到c++運行系統那里,導致整個程序的終止

  2. 一般在異常拋出后資源可以正常被釋放,但注意如果在類的構造函數中拋出異常,系統是不會調用它的析構函數的,處理方法是:如果在構造函數中要拋出異常,則在拋出前要記得刪除申請的資源。

  3. 異常處理僅僅通過類型而不是通過值來匹配的,所以catch塊的參數可以沒有參數名稱,只需要參數類型。

  4. 函數原型中的異常說明要與實現中的異常說明一致,否則容易引起異常沖突。

  5. 應該在throw語句后寫上異常對象時,throw先通過Copy構造函數構造一個新對象,再把該新對象傳遞給 catch.

  那么當異常拋出后新對象如何釋放?

  異常處理機制保證:異常拋出的新對象并非創建在函數棧上,而是創建在專用的異常棧上,因此它才可以跨接多個函數而傳遞到上層,否則在棧清空的過程中就會被銷毀。所有從try到throw語句之間構造起來的對象的析構函數將被自動調用。但如果一直上溯到main函數后還沒有找到匹配的catch塊,那么系統調用terminate()終止整個程序,這種情況下不能保證所有局部對象會被正確地銷毀。

  6. catch塊的參數推薦采用地址傳遞而不是值傳遞,不僅可以提高效率,還可以利用對象的多態性。另外,派生類的異常撲獲要放到父類異常撲獲的前面,否則,派生類的異常無法被撲獲。

  7. 編寫異常說明時,要確保派生類成員函數的異常說明和基類成員函數的異常說明一致,即派生類改寫的虛函數的異常說明至少要和對應的基類虛函數的異常說明相同,甚至更加嚴格,更特殊。

上一頁  1 2 3 4 5 6  下一頁
  相關推薦:

  2010年9月計算機等級考試成績查詢時間匯總

  2011年計算機等級考試二級C++輔導筆記匯總

  2011年上半年計算機等級考試報名時間匯總

  2011計算機等級考試二級C++輔導實例編程匯總

文章搜索
版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
主站蜘蛛池模板: 亚洲欧美日韩中文不卡 | 91精品视频免费 | 欧美视频在线免费看 | 综合久青草视频 | 欧美成人精品免费播放 | 伊人日韩 | 在线不卡日韩 | 亚洲成人福利在线观看 | 日本tv欧美tv天堂 | 在线资源天堂 | 高清在线一区二区 | ww亚洲ww在线观看国产 | 中文字幕免费 | 午夜精品视频 | 日韩一区国产一级 | 人人做人人爽人人爱秋霞影视 | 伊人激情网 | 伦理剧在线观看 | 老司机成人午夜精品福利视频 | 2019av在线视频 | 国产亚洲精品国产福利在线观看 | 国产精品xxxxbbbb18 | 国产一级理论片 | 亚洲免费一区二区 | 久久精品国产第一区二区 | 亚洲国产第一区二区三区 | 亚洲欧美中文字幕影音先锋 | 成年男女男免费视频网站不卡 | 国产免费观看嫩草影院 | 精品国产一区在线观看 | 亚洲小视频在线 | 精品x8x8视频 | 亚洲第一成年人网站 | 亚洲三级视频 | 欧美国产日韩另类 | 1000部羞羞视频在线看视频 | a毛片全部免费播放 | 中国黄色在线观看 | 日韩三级视频在线观看 | 淫片网站 | 在线免费观看黄网站 |