線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1454
推到 Plurk!
推到 Facebook!

何處可以查到有哪些exception?

缺席
johnnychang
一般會員


發表:24
回覆:26
積分:16
註冊:2002-09-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-10 23:24:45 IP:61.59.xxx.xxx 未訂閱
在使用try..except..end時, 常希望能針對exception做不同的處理. 但在DELPHI HELP中找不到exception有哪些. 請前輩高手們指點在何處可以查到所有的exception. 謝謝.
kunying
一般會員


發表:17
回覆:28
積分:19
註冊:2002-03-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-11 00:22:50 IP:211.74.xxx.xxx 未訂閱
根據 深入淺出delphi 4 Unleashed Delphi例外處理的基礎類別,宣告於SysUtils.pas: Exception = class(TObject) private FMessage: string; FHelpContext: Integer; public constructor Create(const Msg: string); ........... ........... EIntError = class(Exception); EDivByZero = class(EIntError); ERangeError = class(EIntError); EIntOverflow = class(EIntError); EMathError = class(Exception); EInvalidOp = class(EMathError); EZeroDivide = class(EMathError); EOverflow = class(EMathError); EUnderflow = class(EMathError); EInvalidPointer = class(Exception); EInvalidCast = class(Exception); EConvertError = class(Exception); EAccessViolation = class(Exception); EPrivilege = class(Exception); EStackOverflow = class(Exception); EControlC = class(Exception); EVariantError = class(Exception); EPropReadOnly = class(Exception); EPropWriteOnly = class(Exception); 你可以看到除以0的錯誤、檔案I/O錯誤、無效型別轉換的錯誤,以及各種常見或罕見的情況。 不過,這只是冰山一角。VCL其他模組還宣告了許多其他的例外類別。想要知道它們完整的範圍,你應該使用線上輔助,或瀏覽Include/VCL目錄下的來源檔。 ---------------- 以上。希望對您有所幫助。 ________________________ 「有時候你以為天要塌下來了,其實是因為你站歪了!」
------
________________________
「有時候你以為天要塌下來了,其實是因為你站歪了!」
懷舊的人
高階會員


發表:28
回覆:152
積分:141
註冊:2003-01-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-11 09:18:26 IP:152.104.xxx.xxx 未訂閱
1. 建議你參考 DELPHI IN A NUTSHELL 有翻譯本 在719頁 附錄B有詳細說明 2. 研究 SYSUTILS
johnnychang
一般會員


發表:24
回覆:26
積分:16
註冊:2002-09-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-02-11 11:26:27 IP:61.59.xxx.xxx 未訂閱
謝謝kunying及懷舊的人. 還有一個問題. sysutils宣告了system的exception, 而其他的exception如何得知在何處宣告? 比如說: 進行除法時, 可能引起EZeroDivide, EDivByZero...;==>如何知道進行除法時會引起哪些Exception? 加法可能引起EOverFlow, EIntOverFlow...; ==> 如何知道進行加法時會引起哪些Exception? 用TStringList.LoadFromFile來讀一個文字檔時可能引起哪些Exception?(如檔案不存在, 檔案無法開啟....) 我用TADOConnection.Open方式來連線一個Access檔時, 想處理檔案不存在的例外處理. 可是不知道會是哪一個Exception. 等Try&Error之後, 得知會引起EOleException, 而它在ComObj中宣告. ==>當使用ADO的Function時會引起哪些Exception(如檔案不存在, 檔案毀損無法開啟, 檔案被其他軟體鎖住無法開啟....)? 像這些, 需要參考哪些文件或書籍, 或有什麼線索可以追查?
懷舊的人
高階會員


發表:28
回覆:152
積分:141
註冊:2003-01-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-02-11 14:46:40 IP:152.104.xxx.xxx 未訂閱
1. 所有的例外處理都是由 Exception 繼承而來 2. 不知你買過 delphi 的原版軟體沒有,它會附一張所有物件的關係圖,它有所有的exception,如果沒買,請向有買過的人借。 3. 既然叫例外處理就表示有些狀況可能會超出你的預期,你只能盡力去防止。 4. 你從那張物件關係圖查相關 help 就可得知它是在那一個 unit。 加油 發表人 - 懷舊的人 於 2003/02/11 14:50:39
系統時間:2024-05-05 0:44:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!