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

2021-03-31 08:56:29 字數 2020 閱讀 7341

一、異常的**。 在

delphi

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

1)檔案處理 (

2)記憶體分配 (

3)

windows資源

(4

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

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

二、異常的處理。 (

1)tryexceptend; 在

try體內的**發生異常時,系統將轉向

except

部分進行異常的處理。這是

delphi

處理異常的最基本的方式之一。 ?

(2

tryfinallyend;

這種異常處理結構一般用於保護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

中更加精確的捕捉異常。

使用one:

異常類do

結構可以在

do體內處理特定異常類所丟擲的異常。 ?

四、異常的除錯。 在

delphi ide

中,解除「

debugger options

」(可以使用選單

tools

—>debugger options…

進行訪問)中的

integrated debugging

核取方塊的勾選狀態可以進行異常的除錯。 ?

五、異常的補充說明。 (

1)每一段程式都有可能產生錯誤!這是軟體業的乙個不容置疑的現象和規律。事實上,傳統的

if…else…

結構完全可以解決所有的錯誤,使用

exception

機制也沒能夠迴避在最原始的層次,通過遍歷可能的情況來產生異常的做法,那麼,為什麼還要異常機制?

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

[1]

exception

類的定義在

sysutils

單元中。

[2]

delphi

也支援不從

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需要具有的技術 硬 技能和非技術 軟 技能。我還會提供建議關於怎樣同管理層打交道和...