本篇內(nèi)容主要講解“C++無法拋出異常怎么辦”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“C++無法拋出異常怎么辦”吧!
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、集寧網(wǎng)站維護(hù)、網(wǎng)站推廣。
E.26:如果無法拋出異常,盡快進(jìn)行失敗處理
If you can't do a good job at recovering, at least you can get out before too much consequential damage is done.
如果你無法很好的從錯(cuò)誤中恢復(fù),至少你可以在更多危害發(fā)生之前退出。
Note(注意)
如果你不能進(jìn)行系統(tǒng)化的錯(cuò)誤處理,可以將”失敗“視為任何無法局部處理的錯(cuò)誤的反應(yīng)。也就是說,如果你無法在檢出問題的函數(shù)上下文中從錯(cuò)誤中恢復(fù),可以調(diào)用about函數(shù),quick_exit()函數(shù)或者類似的可以觸發(fā)某種系統(tǒng)重啟的函數(shù)。
在包含很多任務(wù)或者大量計(jì)算機(jī)的系統(tǒng)中,反正你已經(jīng)需要預(yù)估和處理(包括硬件錯(cuò)誤的)致命失敗。在這樣的情況下,”失敗“僅僅是將錯(cuò)誤處理轉(zhuǎn)交給系統(tǒng)的下一層。
Example(示例)
void f(int n)
{
// ...
p = static_cast<X*>(malloc(n * sizeof(X)));
if (!p) abort(); // abort if memory is exhausted
// ...
}
Most programs cannot handle memory exhaustion gracefully anyway. This is roughly equivalent to
大多數(shù)程序都無法滿意的處理內(nèi)存枯竭。這差不多和下面的代碼等價(jià):
void f(int n)
{
// ...
p = new X[n]; // throw if memory is exhausted (by default, terminate)
// ...
}
Typically, it is a good idea to log the reason for the "crash" before exiting.
通常,在因?yàn)椤笔 巴顺鲋坝涗浽蚴呛孟敕ā?/p>
到此,相信大家對“C++無法拋出異常怎么辦”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)站欄目:C++無法拋出異常怎么辦
轉(zhuǎn)載來于:http://aaarwkj.com/article20/gjosjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網(wǎng)頁設(shè)計(jì)公司、移動(dòng)網(wǎng)站建設(shè)、搜索引擎優(yōu)化、網(wǎng)站設(shè)計(jì)、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)