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

2011計(jì)算機(jī)等考Delphi講義:異常處理與程序調(diào)試

Delphi提供了一套強(qiáng)大的異常處理機(jī)制。巧妙地利用它,可以使你的程序更為強(qiáng)健,使用更為友好。

  第十二章 異常處理與程序調(diào)試

  在應(yīng)用程序開發(fā)中如何檢測、處理程序的運(yùn)行錯(cuò)誤是一個(gè)很重要的問題。在 Delphi 的集成開發(fā)環(huán)境( IDE )中提供了一個(gè)完善的內(nèi)置調(diào)試器,可以幫助你發(fā)現(xiàn)大部分程序錯(cuò)誤。但并不是所有的錯(cuò)誤都可以被發(fā)現(xiàn),而且當(dāng)程序涉及到與外設(shè)的數(shù)據(jù)交換或操作外設(shè),如要求用戶輸入、讀寫磁盤等時(shí),錯(cuò)誤的發(fā)生是程序無法控制的,如輸入非法字符、磁盤不能讀寫等。這些情況不僅會(huì)導(dǎo)致應(yīng)用程序異常中止而且可能引起系統(tǒng)的崩潰。針對(duì)這些問題,Delphi同時(shí)提供了一套強(qiáng)大的異常處理機(jī)制。巧妙地利用它,可以使你的程序更為強(qiáng)健,使用更為友好。

  雖然Delphi為應(yīng)用程序提供了一套缺省的自動(dòng)異常處理機(jī)制,即當(dāng)前模塊發(fā)生錯(cuò)誤后退出當(dāng)前模塊并給出錯(cuò)誤信息,而并不立即引起應(yīng)用程序的中止。但當(dāng)應(yīng)用程序執(zhí)行的過程性很強(qiáng)時(shí),僅僅利用這種方法是不夠的,而且很容易導(dǎo)致程序執(zhí)行的不可預(yù)測性。

  12.1 Delphi異常處理機(jī)制與異常類

  Delphi異常處理機(jī)制建立在保護(hù)塊(Protected Blocks)的概念上。所謂保護(hù)塊是用保留字try和end封裝的一段代碼。保護(hù)塊的作用是當(dāng)應(yīng)用程序發(fā)生錯(cuò)誤時(shí)自動(dòng)創(chuàng)建一個(gè)相應(yīng)的異常類(Exception)。程序可以捕獲并處理這個(gè)異常類,以確保程序的正常結(jié)束以及資源的釋放和數(shù)據(jù)不受破壞。如果程序不進(jìn)行處理,則系統(tǒng)會(huì)自動(dòng)提供一個(gè)消息框。

  異常類是Delphi異常處理機(jī)制的核心,也是Delphi異常處理的主要特色。下面我們對(duì)異常類的概念和體系進(jìn)行詳細(xì)的介紹。

  Delphi提供的所有異常類都是類Exception的子類。用戶也可以從Exception派生一個(gè)自定義的異常類。

  Exception類的定義如下,對(duì)于不常用的成員沒有列出。

  {SysUtils 單元中}

  Exception = class(TObject)

  private

  FMessage: PString;

  FHelpContext: Longint;

  function GetMessage: String;

  procedure SetMessage(const Value: String);

  public

  constructor Create(const Msg: String);

  constructor CreateFmt(const Msg: String; const Args: array of const);. . .

  destructor Destroy; override;

  property HelpContext: Longint

  property Message: String;

  property MessagePtr: PString;

  end;

  Exception的一系列構(gòu)造函數(shù)中最重要的參數(shù)是顯示的錯(cuò)誤信息。而數(shù)據(jù)成員中最重要的也是可被引用的消息字符串(message,messagePtr)。 這些信息分別對(duì)自定義一個(gè)異常類和處理一個(gè)異常類有重要作用。

  Delphi提供了一個(gè)很龐大的異常類體系,這些異常類幾乎涉及到編程的各個(gè)方面。從大的方面我們可以把異常類分為運(yùn)行時(shí)間庫異常、對(duì)象異常、部件異常三類。下面我們分別進(jìn)行介紹。

1 2 3 4 5 6 7 8 9 10  ... 下一頁  >> 
  相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試試題及答案解析專題
       預(yù)告:名師解析2010年9月計(jì)算機(jī)等級(jí)考試試題答案
       2010年9月計(jì)算機(jī)等級(jí)考試成績查詢時(shí)間及入口
       2010年9月計(jì)算機(jī)等考成績查詢短信免費(fèi)提醒開通
文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。