程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 基於Delphi的異常處理技術探究(2)

基於Delphi的異常處理技術探究(2)

編輯:Delphi

1、創建被保護語句塊

所謂被保護語句塊,簡單說是一條或多條語句,帶有對這些語句產生異常的處理器,運用try和except關鍵字來創建被保護語句塊的結構。具體結構如下:

Try  //可能引起異常的代碼段
···
except  //對異常進行處理的代碼段
···
end;

其中try和except為關鍵字,try用於標志可能產生異常的代碼段。如果這段程序在運行時產生了異常,系統會中止try代碼段的執行,並根據except所設的代碼段進行。

下面就如何利用這個結構來創建被保護語句塊研究一個程序的例子,具體的調用事件處理過程主要代碼如下:

var
 I,J,K:Integer;
Begin
 I:=0;J:=10;
Try
 K:=J DIV I; //產生異常的語句
Except
 ShowMessage (‘ Divede error!’ + ‘I=’+ IntToStr ( I ) + ‘J’ + IntToStr ( J ) +’k=’ + IntToStr ( K ));
End;

在這個過程中,表達式JdivI嘗試用10除以0,使Object Pascal運行庫產生一個異常,從而執行了except塊中的ShowMessage語句,這個保護語句控制程序的執行過程,主要有以下三個要點:

(1) 如果except塊中的一條語句處理了一個異常,過程或函數在保護塊後面繼續正常運行;

(2) 如果沒有語句處理異常,當前的過程或函數立即退出,異常查找調用鏈,直到找到合適的處理器;

(3) 未處理的異常最終找到應用程序的缺省異常處理器,處理器顯示對話框和消息 缺省異常處理器接收所有沒有提供處理的異常。

2、創建被保護資源塊

以上的例子顯示錯誤消息僅僅是異常處理的一個方面,當產生異常情況時,一個可靠的應用程序必須恢復穩定性。如果發生磁盤錯誤,應用程序必須釋放可能不用的內存快,直到用戶重新啟動;一個可靠的程序很容易排除錯誤,通過關閉文件,釋放Windows資源,用任何可能的方法從混亂中恢復。這種情況可用try 和finally關鍵字來創建被保護資源塊,所謂被保護資源塊,簡單說是由一條或多條語句組成,帶有對資源使用可能產生異常的處理器。 這個保護資源塊的基本框架結構為:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved