最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C++中的異常淺析-創(chuàng)新互聯(lián)

我們都知道,無論是在C語言中還是C++的編程調(diào)試中,我們都會遇到各種各樣的錯誤,那么在遇到這些錯誤的時候我們要怎么處理它們呢?

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站建設、網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的邢臺網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

這里有一些傳統(tǒng)的處理錯誤的方法:

 ①終止錯誤

 ②返回錯誤碼

 ③返回合法值,讓程序處于某種錯誤狀態(tài),

 ④調(diào)用一個預先設置好的處理錯誤的函數(shù)--->(回調(diào)函數(shù))

  為了更好地處理這一類問題,在C++中提出了異常,當函數(shù)出現(xiàn)一個自己無法處理的錯誤時,就會拋出異常,讓函數(shù)的調(diào)用者直接或間接的來處理這個問題。

來舉一個例子:

例1:

C++中的異常淺析

對于函數(shù)div來說,程序沒有一種機制來處理當num2為零時的情況,所以我們可以通過拋出異常來解決這個問題

注意:當throw出異常的時候,后面括號里的參數(shù)一定要和catch后面括號里的數(shù)據(jù)類型匹配

例2:下面再來舉一個例子C++中的異常淺析

  從上面的代碼可以看出,由于一旦拋出異常,就要進行捕獲,所以在拋出異常的同時也不可避免的影響了代碼的執(zhí)行流,也就是代碼不一定就順序執(zhí)行了,因此在拋出異常之前,如果有malloc或new開辟的空間時,一定要在執(zhí)行流改變之前將其釋放,否則就會出現(xiàn)內(nèi)存泄漏的問題。

通過以上兩個例子,我想大家一定能夠?qū)Ξ惓S幸欢ǖ牧私饬税?,下面我來對異常做幾點總結:

 ①異常是通過拋出對象引發(fā)的,該對象的類型取決了激活哪一類的異常

 ②被選中的異常處理代碼是調(diào)用鏈中拋出對象類型相同的最近一個開始的

 ③拋出異常會釋放局部存儲對象,被拋出的對象也還給了系統(tǒng),異常對象在catch處理后也還給了系統(tǒng)

Tips:

異常捕獲的匹配規(guī)則

1.允許非const到const的轉(zhuǎn)換,也就是const可以接受匹配非const

2.允許派生類型到基類的轉(zhuǎn)換(父類的指針或引用可以指向或引用一個子類,將其作為接受的類型)

3.將數(shù)組轉(zhuǎn)換為一個指向數(shù)組類型的指針,將函數(shù)轉(zhuǎn)換為函數(shù)指針類型

注意事項

一般不要在析構函數(shù)或構造函數(shù)中拋出異常

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


網(wǎng)站標題:C++中的異常淺析-創(chuàng)新互聯(lián)
本文地址:http://fisionsoft.com.cn/article/cshpgo.html