freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第十二章異常處理與程序調(diào)試一-在線瀏覽

2024-11-08 15:32本頁(yè)面
  

【正文】 age, messagePtr)。 Delphi 提供了一個(gè)很龐大的異常類體系,這些異常類幾乎涉及到編程的各個(gè)方面。下面我們分別進(jìn)行介紹。 I/O 異常 I/O異常類 EInOutError是在程序運(yùn)行中試圖對(duì)文件或外設(shè)進(jìn)行操作失敗后產(chǎn)生的,它從 Exception 派生后增加了一個(gè)公有數(shù)據(jù)成員 ErrorCode,用于保存所發(fā)生錯(cuò)誤的代碼。 當(dāng)設(shè)置編譯指示 {$I } 時(shí),不產(chǎn)生 I/O 異常類而是把錯(cuò)誤代碼返回到預(yù)定義變量 IOResult 中。 表 堆異常類及其產(chǎn)生原因 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 異常類 引發(fā)原因 ───────────────────────────────── EOutOfMemory 沒(méi)有足夠的空間用于滿足所要求的內(nèi)存分配 EInvalidPointer 非法指針。 表 整數(shù)異常及其產(chǎn)生原因 ━━━━━━━━━━━━━━━━━━━━━ 異常類 引發(fā)原因 ───────────────────── EDivByZero 試圖被零除 ERangeError 整數(shù)表達(dá)式越界 EIntOverFlow 整數(shù)操作溢出 ━━━━━━━━━━━━━━━━━━━━━━ ERangeError 當(dāng)一個(gè)整數(shù)表達(dá)式的值超過(guò)為一個(gè)特定整數(shù)類型分 配的范圍時(shí)引發(fā)。 var SmallNumber: ShortInt。 begin X := 100。 SmallNumber := X * Y。 特定整數(shù)類型包括 ShortInt、 Byte 以及與整數(shù)兼容的枚舉類型、布爾類型等。 var Haz: THazard。 begin Item:= 4。 end。 數(shù)組元素越界也會(huì)引發(fā)一個(gè) ERangeError 異常,如: var Values: array[1..10] of Integer。 begin for i := 1 to 11 do Values[i] := i。 ERangeError 異常只有當(dāng)類型檢查打開時(shí)才會(huì)引發(fā)。 EIntOverFlow 異常類在 Integer、 Word、 Longint 三種整數(shù)類型越界時(shí)引發(fā)。 a,b,c : Word。 b := 20。 for I := 0 to 100 do begin c := a*b*c。 end。 EIntOverFlow 異常類只有在編譯選擇框 Option|Project|Over_Flow_Check Option 選中時(shí)才產(chǎn)生。 整數(shù)類型的范圍如下表。 表 浮點(diǎn)異常類及其引發(fā)原因 ━━━━━━━━━━━━ ━━━━━━━━━━━━ 異常類 引發(fā)原因 ──────────────────────── EInvalidOp 處理器碰到一個(gè)未定義的指令 EZeroDivide 試圖被零除 EOverFlow 浮點(diǎn)上溢 EUnderFlow 浮點(diǎn)下溢 ━━━━━━━━━━━━━━━━━━━━━━━━ EInvalidOp 最常見的引發(fā)原因是沒(méi)有協(xié)處理器的機(jī)器遇到一個(gè)協(xié)處理器指令。此時(shí)只需要在單元的接口部分設(shè)置全 局編譯指示 {$N},選擇利用運(yùn)行時(shí)間庫(kù)進(jìn)行浮點(diǎn)運(yùn)算,問(wèn)題就可以解決了。這同整數(shù)異常類是不同的。 類型轉(zhuǎn)換異常 類型轉(zhuǎn)換異常 EConvertError 當(dāng)試圖用轉(zhuǎn)換函數(shù)把數(shù)據(jù)從一種形式轉(zhuǎn)換為另一種形式時(shí)引發(fā),特別是當(dāng)把一個(gè)字符串轉(zhuǎn)換為數(shù)值時(shí)引發(fā)。 var rl : Real。 begin rl := StrToFloat(39。)。 1,402 39。 end。比如函數(shù) Val當(dāng)它無(wú)法完成字符串到數(shù)值的轉(zhuǎn)換時(shí)只把錯(cuò)誤代碼返回。 硬件異常 硬件異常發(fā)生的情況 有兩種:或者是處理器檢測(cè)到一個(gè)它不能處理的錯(cuò)誤,或者是程序產(chǎn)生一個(gè)中斷試圖中止程序的執(zhí)行。 硬件異常都是 EProcessor 異常類的子類。 表 硬件異常類及其產(chǎn)生原因 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 異常類 引發(fā)原因 ───────────────────────────────── Efault 基本異常類。通常由一個(gè)未 初始化的指針或?qū)ο笠? EStackFault 非法訪問(wèn)處理器的棧段 EPageFault Windows 內(nèi)存管理器不能正確使用交換文件 EInvalidOpCode 處理器碰到一個(gè)未定義的指令。而 EBreakPoint、
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1