當前位置:商標查詢大全網 - 教育培訓 - DELPHI基礎教程:異常處理和程序調試(1) [4]

DELPHI基礎教程:異常處理和程序調試(1) [4]

生成資源保護塊

Delphi最後提供了壹個保留字來保護資源。

{分配資源}

嘗試

{資源使用情況}

最後

{發布資源}

結束;

Try…finally…end形成資源保護塊。無論程序是否異常,finally之後的語句在任何情況下都會被執行。

對於()中的示例,以下代碼可以確保釋放已分配的內存資源。

定義變量

APointer:指針;

AInt ADiv:Integer;

開始

ADiv:=;

GetMem(apo int)

嘗試

AInt:= div ADiv;

最後

自由記憶

結束;

結束;

以下示例摘自()部分,用於實現文件復制中的文件資源保護。

過程復制文件(常量文件名DestName: TFileName)

定義變量

CopyBuffer:指針;

時間戳bytes copied:Longint;

Source Dest:整數;

目標:TFileName

常數

chunk size:Longint =;

開始

destination:= expand filename(DestName)

如果HasAttr(目的地目錄),則

目的地:=目的地+ \ +提取文件名(文件名)

時間戳:=文件大小(文件名)

GetMem(CopyBuffer ChunkSize)

嘗試

Source := FileOpen(文件名fmShareDenyWrite)

如果來源& lt然後

引發EFOpenError Create(FmtLoadStr(SFOpenError[文件名])

嘗試

Dest := FileCreate(目的地)

如果Dest & lt然後

引發EFCreateError Create(FmtLoadStr(SFCreateError[Destination]))

嘗試

重復

BytesCopied := FileRead(源CopyBuffer^塊大小)

如果BytesCopied & gt然後

文件寫入(目標CopyBuffer^字節復制)

直到BytesCopied & ltChunkSize

最後

文件關閉(目標)

結束;

最後

文件關閉(源)

結束;

最後

FreeMem(CopyBuffer ChunkSize)

結束;

結束;

有關該過程的詳細說明,請參見第()節。

在異常保護的情況下,當發生異常時,系統會自動彈出消息框顯示異常的消息,退出當前模塊後會自動清除異常類。

返回目錄DELPHI基礎教程

編輯推薦

Java編程培訓視頻教程

J EE高級框架實戰訓練視頻教程

Visual C++音視頻技術的發展與實戰

Oracle索引技術

ORACLE G數據庫開發優化指南

Java程序的性能優化讓妳的Java程序更快更穩定。

c嵌入式編程設計模式

Android遊戲開發實用指南

Lishi Xinzhi/Article/program/Delphi/201311/25194