




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第13章 程序運行時的異常處理,在實際編程時,用戶雖然將程序編譯成功了。但是,當(dāng)應(yīng)用程序運行時或者是運行的過程中,可能會出現(xiàn)程序運行錯誤。例如,程序運行的邏輯錯誤、操作錯誤等。應(yīng)用程序在運行時,某些錯誤是偶爾發(fā)生的。然而,這些運行中出現(xiàn)的錯誤則是導(dǎo)致程序崩潰的主要原因。所以,為了避免這種情況的發(fā)生,在C+語言中提供了異常處理機制,即當(dāng)出現(xiàn)運行錯誤時,使用正確的步驟來處理這些異常情況。使用異常處理機制能夠有效地避免應(yīng)用程序運行錯誤。在本章中,用戶將學(xué)習(xí)到的知識如下所示: (1)C+異常處理基礎(chǔ)知識 (2)C+異常處理結(jié)構(gòu) (3)C+異常處理步驟 (4)C+異常處理實例程序分析 (5)C+異常處理
2、知識小結(jié),13.1 異常處理基礎(chǔ),在C+語言中,為用戶提供了很好的異常處理機制,并且可以對同一個異常進行多次處理,直到對該異常進行了正確的處理。用戶通過異常處理機制能夠更好地解決應(yīng)用程序的運行效率。在本節(jié)中,將向用戶介紹C+異常處理方面的基礎(chǔ)知識。,13.1.1 異常處理機制,C+異常處理機制主要是對應(yīng)用程序在運行時,將可能發(fā)生的運行錯誤進行相應(yīng)的處理,以保證應(yīng)用程序的正常運行。用戶在實際編寫程序時,對代碼中實現(xiàn)重要操作的地方,應(yīng)當(dāng)使用異常處理機制對該操作將可能出現(xiàn)的錯誤進行判斷并提供相應(yīng)的處理。在本小節(jié)中,將向用戶介紹C+異常處理機制的相關(guān)知識。 通常情況下,用戶編寫完程序后,進行編譯。若編
3、譯成功就說明該程序可以被執(zhí)行了。但是,在編譯的過程中,編譯器只是對用戶編寫程序的語法以及一些簡單的邏輯操作進行判斷。對于有些操作,編譯器是不能夠發(fā)現(xiàn)問題的。,13.1.2 使用C+異常處理結(jié)構(gòu),在前面的小節(jié)中,已經(jīng)向用戶介紹了使用C+異常處理機制的必要性。所以,在本小節(jié)中,將向用戶講解一下C+異常處理方面的代碼結(jié)構(gòu)。通過了解異常處理機制的代碼結(jié)構(gòu),用戶可以更加深入地理解異常處理方面的知識。 在C+語言中,定義了一定的異常處理結(jié)構(gòu)體對程序運行時,可能出現(xiàn)的異常情況進行處理。該異常處理結(jié)構(gòu)體如下所示: try/異常處理結(jié)構(gòu)體 throw erro;/拋出異常 catch(erro)/捕獲異常 ,1
4、3.1.3 簡單實例程序,通過前面兩個小節(jié)的學(xué)習(xí),用戶已經(jīng)對C+異常處理機制以及相關(guān)的處理結(jié)構(gòu)體有了大致的了解。因此,在本小節(jié)中,將通過編寫異常處理實例程序向用戶講解如何使用C+異常處理結(jié)構(gòu)體進行相應(yīng)功能的實現(xiàn)方法。 【實例13.1】用戶在實例程序中,可以使用C+異常處理結(jié)構(gòu)體對程序中可能出現(xiàn)的異常情況進行處理,避免程序運行時出現(xiàn)致命的錯誤。具體的代碼如下所示: 【本例代碼位置:源文件13實例13.113.1.cpp】,13.2 異常處理步驟,在前面小節(jié)中,已經(jīng)向用戶介紹了C+異常處理機制以及異常處理結(jié)構(gòu)體的相關(guān)基礎(chǔ)。并且通過編寫實例程序向用戶講解了異常處理相關(guān)的實例程序分析。那么,在本節(jié)中,
5、將向用戶具體講解異常處理的相關(guān)步驟。,13.2.1 發(fā)現(xiàn)異常,用戶在處理C+異常錯誤之前,必須首先發(fā)現(xiàn)程序可能將出現(xiàn)的異常問題。只有這樣,用戶才能夠在后續(xù)的操作中對該異常問題進行捕獲以及處理。所以,用戶發(fā)現(xiàn)異常錯誤是處理異常錯誤的第一步。因此,在本小節(jié)中,將向用戶講解如何發(fā)現(xiàn)C+異常錯誤的相關(guān)方法。 在C+語言中,用戶可以通過關(guān)鍵字“try”發(fā)現(xiàn)一些可能存在錯誤的代碼結(jié)構(gòu),也就是用戶試著去查找代碼中中的錯誤及其原因。 通常情況下,如果用戶發(fā)現(xiàn)相關(guān)的代碼有可能會出現(xiàn)異常錯誤。那么,用戶就可以將這段代碼放到關(guān)鍵字“try”的代碼段中進行運行。這樣,當(dāng)代碼真的出現(xiàn)異常錯誤時,就可以將該錯誤進行拋出。
6、,13.2.2 拋出異常,當(dāng)用戶發(fā)現(xiàn)程序中的異常錯誤以后,就可以將該異常錯誤拋出到功能代碼以外,以便用戶對其進行捕獲。在異常錯誤處理過程中,用戶是否能夠?qū)惓ee誤準確地進行拋出,是決定了異常處理成敗的關(guān)鍵步驟。在本小節(jié)中,將向用戶介紹如何將發(fā)現(xiàn)的異常錯誤進行拋出。 在C+語言中,用戶可以通過關(guān)鍵字“throw”將發(fā)現(xiàn)到的異常錯誤進行拋出。具體的使用格式如下所示: 01/省略部分代碼 02throw erro;/拋出異常錯誤 03/省略部分代碼 用戶在拋出異常錯誤的時候,可以指定該異常錯誤的類型為自定義的錯誤類型。當(dāng)然,用戶也可以使用該關(guān)鍵字拋出任何類型的異常錯誤。,13.2.3 捕獲異常,當(dāng)用
7、戶將異常錯誤拋出以后,就可以使用關(guān)鍵字“catch”對異常錯誤進行捕獲了。因此,在本小節(jié)中,將向用戶介紹該關(guān)鍵字的相關(guān)使用方法。 通常情況下,當(dāng)用戶發(fā)現(xiàn)錯誤并將該錯誤拋出之后,就可以使用關(guān)鍵字“catch”對拋出的錯誤進行捕獲。這樣,用戶就可以在該關(guān)鍵字的代碼段中,對該異常錯誤進行相應(yīng)的處理了。,13.2.4 多次處理異常,當(dāng)用戶捕獲到異常以后,并進行相應(yīng)的處理。如果該異常錯誤經(jīng)過處理之后,還不能夠解決該錯誤。那么,用戶就應(yīng)該繼續(xù)將該異常錯誤進行拋出,由其他的錯誤處理程序進行捕獲并處理。那么,在本小節(jié)中,將向用戶介紹如何實現(xiàn)多次處理異常錯誤的方法。 通常,對已經(jīng)拋出但并未進行處理的異常錯誤,用
8、戶可以在關(guān)鍵字“catch”的代碼段中,繼續(xù)使用C+異常處理結(jié)構(gòu)體“trythrowcatch”對未能處理的異常錯誤進行進一步的處理。,13.3 實例程序分析,在前面的程序中,主要向用戶介紹了C+異常處理機制方面的基礎(chǔ)知識,并且向用戶進行了異常處理操作步驟的具體講解。還通過實例代碼實現(xiàn)了對同一異常錯誤進行多次處理的方法。因此,在本節(jié)中,將通過實例程序的分析,向用戶講解如何在實例程序中,真正實現(xiàn)C+異常處理機制的相關(guān)知識點。 【實例13.2】在實例程序中,用戶將前面所涉及到的實例程序進行整理,并實現(xiàn)本章中所介紹的C+異常處理功能。具體的代碼如下所示: 【本例代碼位置:源文件13實例13.213.2.cpp】,13.4 小結(jié),在本章中,主要是向用戶介紹了C+異常處理機制的相關(guān)基礎(chǔ)知識以異常處理結(jié)構(gòu)體的定義。在實例程序中,使用異常處理結(jié)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)術(shù)經(jīng)理崗位管理辦法
- 廣安大米流通管理辦法
- 福清白蟻治理管理辦法
- 經(jīng)營績效管理辦法前言
- 中國數(shù)控工具磨床行業(yè)市場調(diào)查研究及發(fā)展戰(zhàn)略研究報告
- 中國裝潢設(shè)計行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告(2024-2030)
- 基因工程的倫理問題主題班會課件
- 職業(yè)穿著打扮培訓(xùn)
- 職業(yè)禮儀教學(xué)課件
- 職業(yè)目標教學(xué)課件
- 吉林省房屋修繕及抗震加固工程計價定額說明
- 預(yù)制箱梁施工監(jiān)理重點檢查內(nèi)容標準版
- 干部人事檔案目錄(樣表)
- 幼兒園中班語言教案《頑皮的小雨滴》含反思
- 2023年北京理工附中小升初英語分班考試復(fù)習(xí)題
- NY/T 455-2001胡椒
- GB/T 20470-2006臨床實驗室室間質(zhì)量評價要求
- 《沙盤游戲與大學(xué)生心理治療》課程教學(xué)大綱
- FZ/T 12001-2006氣流紡棉本色紗
- 丁類(D類)功率放大器
- 論湖湘?zhèn)鹘y(tǒng)文化與大學(xué)生思政教育之間的融合優(yōu)秀獲獎科研論文-1
評論
0/150
提交評論