程序调试与异常处理课件_第1页
程序调试与异常处理课件_第2页
程序调试与异常处理课件_第3页
程序调试与异常处理课件_第4页
程序调试与异常处理课件_第5页
已阅读5页,还剩16页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程式調試與異常處理8.1.1程式錯誤及發現時刻語法錯違反語法規範的錯誤稱為語法錯,這類錯誤通常在編譯時發現。語義錯在語義上存在錯誤,稱為語義錯。邏輯錯運行結果卻與期望值不符,這類錯誤稱為邏輯錯。8.1.2發現及處理錯誤發現錯誤【例8.1】發現除數為0錯誤。編譯錯var

i:integer;i:=2div0;運行錯

var

i,j:integer;i:=0;j:=2divi;邏輯錯

var

x:real;x:=2/0;【例8.2】發現整數類型數據溢出錯誤。編譯錯var

j:shortint;month:1..12;j:=127+1;month:=13;運行錯

var

i,j:shortint;i:=127;j:=i+1;編譯時強制進行範圍檢查{$R+} //編譯指令,打開範圍檢查語句序列;{$R-} //編譯指令,關閉範圍檢查2.處理錯誤【例8.3】數組下標越界問題討論。下標變數聲明為子界類型下標變數聲明為整數類型強制進行範圍檢查正確方法

fori:=low(table)tohigh(table)dowrite(table[i]:5);8.2程式調試技術8.2.1執行方式與調試介面8.2.2調試過程8.2.1執行方式與調試介面程式的3種執行方式正常執行,執行Run|Run菜單命令單步執行StepInto,跟蹤進入過程/函數內部。StepOver,將過程/函數調用作為一條語句,一次執行完。分段執行RuntoCursor,運行至游標所在行。設置中斷點執行。RunUntilReturn,執行完過程/函數體餘下的語句序列,返回到調用過程/函數的語句處。2.調試介面進入調試狀態調試介面組成LocalVariables子窗口WatchList子窗口Run菜單8.2.2調試過程選擇需要調試的程式段設置/清除中斷點跟蹤運行程式逐條語句地執行程式分段運行查看變數值的變化情況WatchList窗口中添加變數在WatchList窗口中操縱變數【例8.4】使用調試技術發現程式邏輯錯誤。根源程式及問題使用調試技術試圖發現程式中的邏輯錯改正錯誤後再次運行體會多種單步運行方式的差別在LocalVariables子窗口中查看變數值的動態變化情況在WatchList子窗口中查看變數值的變化情況8.3異常處理機制8.3.1異常處理的概念8.3.2異常回應8.3.3異常保護8.3.1異常處理的概念面向過程語言錯誤處理方式的缺陷面向對象語言異常處理的思想Delphi異常處理機制異常類異常處理語句程式對錯誤與異常的三種處理方式程式不能處理的錯誤程式應避免而不捕獲的異常必須捕獲的異常8.3.2異常回應異常回應語句try

語句序列; //存在潛在異常excepton識別字:異常類do語句1; //回應特定異常類

on識別字:異常類do語句2;else

語句序列; //回應其他異常類end;【例8.5】除數為0錯的異常處理。【例8.6】類型轉換錯的異常處理。8.3.3異常保護異常保護語句try

語句序列1; //有潛在異常的語句finally

語句序列2;end;需要保護的資源【例8.7】打開檔操作錯誤的異常處理。8.4異常類8.4.1Exception類8.4.2運行時異常8.4.3對象異常類8.4.4組件異常類8.4.1Exception類typeException=class(TObject)private

FMessage:string;

FHelpContext:integer;publicconstructorCreate(const

Msg:string);

……destructorDestroy;override;propertyHelpContext:integerreadFHelpContextwriteFHelpContext;propertyMessage:stringreadFMessagewriteFMessage;end;8.4.2運行時異常運行時異常類的層次結構8.4.2運行時異常外部錯誤異常類EExternal整數異常類EIntError【例8.8】子界越界、短整型越界的異常處理。實數異常類EMathError類型匹配異常類EInvalidCast類型轉換異常類EConvertErrorI/O異常類EInOutError堆異常類EHeapExceptionEOutOfMemoryEInvalidPointer8.4.3對象異常類流異常類EStreamError列印異常類EPrinter圖形異常類EInvalidGraphic和EInvalidGraphicOperation無效的圖形檔異常EInvalidGraphic圖形非法操作異常EInvalidGraphicOperation字串序列異常EStringListError和EListErrorEStringListError異常EListError異常8.4.4組件異常類通用組件異常類非法操作異常EInva

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论