Delphi異常處理的基本原則和方法

2021-07-15 12:54:57 字數 1312 閱讀 9293

一、異常的**。

在delphi的應用程式中,下列的情況都比較有可能產生異常。

(1)檔案處理

(2)記憶體分配

(3)windows資源

(4)執行時建立物件和窗體

(5)硬體和作業系統衝突

二、異常的處理。

(1)try…except…end;

在try體內的**發生異常時,系統將轉向except部分進行異常的處理。這是delphi處理異常的最基本的方式之一。

(2)try…finally…end;

這種異常處理結構一般用於保護windows的資源分配等方面,它確保了無論try體內的**是否發生異常,都需要由系統進行最後的統一處理的一些windows物件的正確處理。

和try…except…end不同,該結構的finally部分總被執行。

(3)不存在try…except…finally…end結構來既處理異常,又保護資源分配的結構,但是,try…except…end結構允許巢狀到try…finally…end結構中,從而實現既處理異常,又保護資源的分配。

三、異常的精確處理。

(1)定義乙個異常。

在delphi中,每個異常都是exception[1]類的乙個派生類[2]。因此,定義乙個異常就是定義乙個exception類的派生類。

type emyexception = class(exception);

當然,基類可以是exception或者exception的任何乙個任何層次的派生類。

(2)在程式中丟擲乙個異常。

根據不同的情況丟擲異常是使用異常的最基本的模式。在delphi中,由raise語句來實現。

【語法】raise 異常類.create(『異常的預設說明』);

(3)在try…except…end中更加精確的捕捉異常。

使用on e:異常類 do…結構可以在do體內處理特定異常類所丟擲的異常。

四、異常的除錯。

在delphi ide中,解除「debugger options」(可以使用選單tools—>debugger options…進行訪問)中的integrated debugging核取方塊的勾選狀態可以進行異常的除錯。

五、異常的補充說明。

(1)每一段程式都有可能產生錯誤!這是軟體業的乙個不容置疑的現象和規律。事實上,傳統的if…else…結構完全可以解決所有的錯誤,使用exception機制也沒能夠迴避在最原始的層次,通過遍歷可能的情況來產生異常的做法,那麼,為什麼還要異常機制?

答案很清楚:異常提供了一種更加靈活和開放的方式,使得後來的程式設計者可以來根據實際的情況處理這種錯誤,而不是使用預先設定好的處理結果。實際上,我覺得,這也就是異常機制的核心。

Delphi異常處理的基本原則和方法

delphi異常處理的基本原則和方法 一 異常的 在delphi的應用程式中,下列的情況都比較有可能產生異常。1 檔案處理 2 記憶體分配 3 windows資源 4 執行時建立物件和窗體 5 硬體和作業系統衝突 二 異常的處理。1 try except end 在try體內的 發生異常時,系統將轉...

Delphi異常處理的基本原則和方法

一 異常的 在 delphi 的應用程式中,下列的情況都比較有可能產生異常。1 檔案處理 2 記憶體分配 3 windows資源 4 執行時建立物件和窗體 5 硬體和作業系統衝突 二 異常的處理。1 try except end 在 try體內的 發生異常時,系統將轉向 except 部分進行異常的...

超越基本原則

techtarget中國 techtarget中國原創 因為持續要求減少it成本,dba們不能再被看作是主要的成本負擔。相反,dba們必須努力於被公司認可和證明他們的價值。本篇文章將集中講述兩方面內容 你作為乙個dba需要具有的技術 硬 技能和非技術 軟 技能。我還會提供建議關於怎樣同管理層打交道和...