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

關于try-except異常處理的問題

答題得分者是:Jasonwong
sfkai
一般會員


發表:4
回覆:3
積分:1
註冊:2007-04-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-06-05 16:43:10 IP:218.6.xxx.xxx 訂閱
在窗體中放入TButton和TEdit各一個,編寫單擊按鈕事件如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
try
strtoint(Edit1.Text);
except
showmessage('请输入合法整数');
end;
end;
假如我在編輯框中輸入了字母后,單擊按鈕并不會出現執行showmessage('请输入合法整数')這一語句,而是彈出Debugger Exception Notification對話框。請問我如果要使showmessage('请输入合法整数')能夠執行,我應該如何編寫?謝謝!

Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-06-05 16:52:02 IP:211.75.xxx.xxx 未訂閱
你可以使用 TryStrToInt 函數, 就可以不必使用 Try..Except... 了
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
sfkai
一般會員


發表:4
回覆:3
積分:1
註冊:2007-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-06-05 17:33:41 IP:124.72.xxx.xxx 訂閱
try
......
except
......
end;
書上不都是說如果try與except之間的語句發生異常,就會執行except與end之間的語句嗎?
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-06-05 17:41:49 IP:211.75.xxx.xxx 未訂閱
看來我是誤會你的意思了

你可以單獨執行 EXE 檔看看會不會執行 Except...End 之間的語句

你直接在 Design Time 中直接按 F9 執行, 發生錯誤時, 因為還在 Debug 模式, 所以仍會產生意外, 這時你只要按確定, 再按 F9 再執行一次,

Except...End 間的語句就會執行到了

===================引 用 sfkai 文 章===================
try
? ......
except
? ......
end;
書上不都是說如果try與except之間的語句發生異常,就會執行except與end之間的語句嗎?
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
sfkai
一般會員


發表:4
回覆:3
積分:1
註冊:2007-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-06-05 18:33:51 IP:124.72.xxx.xxx 訂閱
我直接運行EXE檔文件,輸入非數字字符,單擊按鈕后,能夠運行except與end之間的程序了。謝謝!
bighm
一般會員


發表:5
回覆:21
積分:15
註冊:2006-10-29

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-06-07 01:07:55 IP:59.104.xxx.xxx 未訂閱
如果不想要彈出Debugger Exception Notification對話框
可以到 Tools --> Debugger Options -->Language Exception
Stop on Delphi Exception 不要打勾
就看不到了
系統時間:2024-05-09 6:54:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!