全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1233
推到 Plurk!
推到 Facebook!

异常类和TRY...except

答題得分者是:borland_delphi70
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-02 16:46:37 IP:125.215.xxx.xxx 訂閱
个人觉得异常类好像有点多余,我是不是都是可以通过
try
.......
except
.....showmessage('xxx发生错误')
这2个有什么区别啊?不太懂嗯。
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
borland_delphi70
中階會員


發表:8
回覆:50
積分:51
註冊:2002-12-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-01-02 19:16:00 IP:59.124.xxx.xxx 訂閱
長官:

Try .... Except .... End 與 Try .... Finally .... End 是 Delphi 中兩種處理"可能會產生錯誤"的程式碼之方法,以確保程式碼在Try ... Except 或 Try ... Finally 之間發生錯誤時,能繼續執行下去並且不要出現「紅色的叉叉」的錯誤訊息(此時程式會中斷,不能如設計者的流程繼續執行):

[code delphi]
Try
可能會錯誤的程式碼
Except
如果上述程式發生錯誤,才會被執行的程式
End

Try
可能會錯誤的程式碼
Finally
不管上述程式是否發生錯誤,都必須被被執行的程式
End

[/code]

但是在下述的情況是依然會被中斷的


[code delphi]
Try
可能會錯誤的程式碼
Except
在此又發生錯誤
如果上述程式發生錯誤,才會被執行的程式
在此又發生錯誤
End

Try
可能會錯誤的程式碼
Finally
在此又發生錯誤
不管上述程式是否發生錯誤,都必須被被執行的程式
在此又發生錯誤
End

[/code]

希望對您有幫助。
===================引 用 zhouying82 文 章===================
个人觉得异常类好像有点多余,我是不是都是可以通过
try
.......
except
.....showmessage('xxx发生错误')
这2个有什么区别啊?不太懂嗯。
編輯記錄
borland_delphi70 重新編輯於 2008-01-02 19:17:32, 註解 無‧
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-01-02 20:23:20 IP:58.35.xxx.xxx 訂閱
我知道try....finally的用处,我的意思是说那个异常类有是么用?是否可以代替那个异常类?
tfileerror = class(exception)
......
.....
我是说这种异常类。
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
borland_delphi70
中階會員


發表:8
回覆:50
積分:51
註冊:2002-12-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-01-04 10:47:05 IP:59.124.xxx.xxx 訂閱
長官:

所以您問的是 raise Exception.Create('錯誤訊息'); 中的 Exception。

您這樣想會比較簡單:「他是用來產生一個會讓程式停止的錯誤,並且讓程式會中斷(游標停佇在)這一行」


zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-01-04 10:55:07 IP:125.215.xxx.xxx 訂閱
请问楼上的,那个EXCEPTION异常类是不是就是让程序在这里停住了,不再执行下去了,而不像TRY...EXCEPT,TRY...FINALLY可以继续执行下去?
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
borland_delphi70
中階會員


發表:8
回覆:50
積分:51
註冊:2002-12-06

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-01-09 16:42:52 IP:202.132.xxx.xxx 訂閱
長官:

的確如您所說的,此種錯誤式會讓程式停止的,我常用他來確認程式錯誤的地方,由其在 IDE 中以 F9 執行時,可以快速找到錯誤之處。
系統時間:2024-04-19 19:51:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!