版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C++程序設(shè)計(jì)新世紀(jì)應(yīng)用型高等教育教材編審委員會組編主編羅燁李秉璋第二版新世紀(jì)應(yīng)用型高等教育軟件專業(yè)系列規(guī)劃教材第10章異常處理10.1異常的概念和異常處理的基本思想3程序的錯(cuò)誤通常包括:語法錯(cuò)誤、邏輯錯(cuò)誤、運(yùn)行異常。語法錯(cuò)誤指書寫的程序語句與語言規(guī)則不符,無法通過編譯器編譯。這類錯(cuò)誤在編譯、連接時(shí)由編譯器指出。邏輯錯(cuò)誤是指程序能順利運(yùn)行,但是沒有實(shí)現(xiàn)預(yù)期的功能及得到預(yù)期結(jié)果。這類錯(cuò)誤通過調(diào)試、分析發(fā)現(xiàn)問題。運(yùn)行異常(exception)是指程序在運(yùn)行的過程中由于意外的結(jié)果、運(yùn)行環(huán)境問題造成程序異常終止,如操作員操作失誤、內(nèi)存空間不足、設(shè)備沒有準(zhǔn)備好、文件讀寫不成功、執(zhí)行了除0操作等。程序運(yùn)行中的運(yùn)行異常是可以預(yù)料但難以避免的。對于運(yùn)行異常不能簡單地退出整個(gè)程序,特別是對大型程序更不能如此處理。因此為了保證程序的健壯性,必須在程序中對運(yùn)行異常進(jìn)行預(yù)見性處理。對運(yùn)行異常進(jìn)行預(yù)見性處理稱為異常處理。10.1異常的概念和異常處理的基本思想410.2異常處理機(jī)制5C++中異常處理機(jī)制的主要思想是:程序在結(jié)構(gòu)上分為兩個(gè)區(qū)域:異常拋出區(qū)、異常處理區(qū)(圖10-2),把可能造成異常的一系列操作(語句或函數(shù)調(diào)用)放在異常拋出區(qū)的try語句塊中,如果try語句塊中的某個(gè)操作在執(zhí)行中產(chǎn)生了異常,則通過執(zhí)行一個(gè)throw語句拋出(產(chǎn)生)一個(gè)異常對象。拋出的對象將由異常處理區(qū)的catch語句來捕獲并處理。10.2.1
異常處理的語法10.2異常處理機(jī)制6(1)try語句塊語法如下:10.2.1
異常處理的語法(2)throw()語句的功能是在發(fā)生異常時(shí),產(chǎn)生并拋出異常對象。語法格式如下:10.2異常處理機(jī)制7(3)catch語句在異常處理區(qū)中捕獲throw拋出的異常對象,然后進(jìn)行相應(yīng)的異常處理。語法格式如下:10.2.1
異常處理的語法10.2異常處理機(jī)制8為了加強(qiáng)程序的可讀性,使用戶能夠清楚了解所使用的函數(shù)可以拋出哪些異常,可以在函數(shù)的聲明中列出函數(shù)可以拋出的所有異常類型,稱為異常接口聲明。語法形式如下:其中:(1)“異常類型表”中列出函數(shù)可以拋出的各種異常類型名。(2)當(dāng)函數(shù)聲明中沒有throw關(guān)鍵字時(shí),表明函數(shù)可以拋出任何異常;(3)當(dāng)函數(shù)聲明中有throw關(guān)鍵字時(shí),但沒有“異常類型表”時(shí),表明函數(shù)不拋出任何異常。10.2.2
異常接口聲明10.2異常處理機(jī)制910.2.3
異常處理的嵌套10.2異常處理機(jī)制10異常處理程序在捕獲異常后,會出現(xiàn)兩種情況:(1)發(fā)現(xiàn)本身不能處理,或者只能做部分處理。(2)即使進(jìn)行了某些處理,還需要繼續(xù)或重新處理。C++中重新拋出已經(jīng)拋出的任何一種異常的語句是:throw;10.2.4
異常的重新拋出10.3異常處理實(shí)例———數(shù)組下標(biāo)越界異常處理11C++標(biāo)準(zhǔn)庫提供了一個(gè)異常類層次結(jié)構(gòu)。異常類以exception作為基類,定義在庫的<exception>頭文件中。用戶可以使用C++標(biāo)準(zhǔn)庫中的異常類處理程序中的異常。excep-tion基類提供了what()虛函數(shù),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 稀土磁性材料成型工安全知識能力考核試卷含答案
- 高處作業(yè)吊籃安裝拆卸工崗前工作技巧考核試卷含答案
- 中國墻面支架行業(yè)市場前景預(yù)測及投資價(jià)值評估分析報(bào)告
- 2026年連續(xù)變量量子密鑰分發(fā)項(xiàng)目可行性研究報(bào)告
- 2025年寧夏中考道法真題卷含答案解析
- 2025年西藏中考道法真題卷含答案解析
- 2025年康復(fù)考核試題庫及答案
- 2026初中數(shù)學(xué)教師個(gè)人工作總結(jié)
- 現(xiàn)場施工企業(yè)三級安全教育試題答卷及參考答案
- 2025年基本公共衛(wèi)生服務(wù)專項(xiàng)培訓(xùn)考試試題(附答案)
- 畢業(yè)設(shè)計(jì)(論文)-自動展開曬衣架設(shè)計(jì)
- T/CCMA 0164-2023工程機(jī)械電氣線路布局規(guī)范
- GB/T 43590.507-2025激光顯示器件第5-7部分:激光掃描顯示在散斑影響下的圖像質(zhì)量測試方法
- 2025四川眉山市國有資本投資運(yùn)營集團(tuán)有限公司招聘50人筆試參考題庫附帶答案詳解
- 2024年山東濟(jì)南中考滿分作文《為了這份繁華》
- 2025年鐵嶺衛(wèi)生職業(yè)學(xué)院單招職業(yè)傾向性測試題庫新版
- 《煤礦安全生產(chǎn)責(zé)任制》培訓(xùn)課件2025
- 項(xiàng)目進(jìn)度跟進(jìn)及完成情況匯報(bào)總結(jié)報(bào)告
- 2025年常州機(jī)電職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 民間融資居間合同
- 2024-2025學(xué)年冀教版九年級數(shù)學(xué)上冊期末綜合試卷(含答案)
評論
0/150
提交評論