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

BCB如果中止一個函式繼續執行??

答題得分者是:dllee
wivern
初階會員


發表:31
回覆:63
積分:28
註冊:2002-07-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-08-27 10:24:22 IP:61.219.xxx.xxx 未訂閱
我寫了一個程式,當執行其中一個函式時,會先做一些判斷是否有錯誤的動作, 如果有動作,就不做接下來主要的動作, 請問當發生錯誤時,有沒有指令可以立即跳出那個函式?? 因為下面的指令蠻多的,所以不想用else把下面的動作全部包起來~ 也不能用return~~是否還有其他的方法呢?? 拜託各位了!!謝謝!!
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-08-27 13:10:34 IP:203.73.xxx.xxx 未訂閱
引言: 我寫了一個程式,當執行其中一個函式時,會先做一些判斷是否有錯誤的動作, 如果有動作,就不做接下來主要的動作, 請問當發生錯誤時,有沒有指令可以立即跳出那個函式?? 因為下面的指令蠻多的,所以不想用else把下面的動作全部包起來~ 也不能用return~~是否還有其他的方法呢?? 拜託各位了!!謝謝!!
試試 goto 吧
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-08-28 11:09:03 IP:203.204.xxx.xxx 未訂閱
引言: 我寫了一個程式,當執行其中一個函式時,會先做一些判斷是否有錯誤的動作, 如果有動作,就不做接下來主要的動作, 請問當發生錯誤時,有沒有指令可以立即跳出那個函式?? 因為下面的指令蠻多的,所以不想用else把下面的動作全部包起來~ 也不能用return~~是否還有其他的方法呢?? 拜託各位了!!謝謝!!
Exit跳離Function或Procedure Abort中斷執行
人生有夢,逐夢而行。 人若為善,福雖未至,禍已遠離。 人若為惡,禍雖未至,福已遠離。 http://www.taconet.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-08-28 12:35:19 IP:61.231.xxx.xxx 未訂閱
引言: 我寫了一個程式,當執行其中一個函式時,會先做一些判斷是否有錯誤的動作, 如果有動作,就不做接下來主要的動作, 請問當發生錯誤時,有沒有指令可以立即跳出那個函式?? 因為下面的指令蠻多的,所以不想用else把下面的動作全部包起來~ 也不能用return~~是否還有其他的方法呢?? 拜託各位了!!謝謝!!
為什麼不能用 return 呢??
bool TEST(void)
{
  DoSomeThingElse();
  if(SomeThingERROR()==true)
     return false;            // 回傳 false 表示有 ERROR
  YesEveryThingWorkRight();
  return true;                // 回傳 true 表示沒有 ERROR
}
其中的 DoSomeThingElse() 及 YesEveryThingWorkRight() 都可以是一大堆程式碼,而在判斷 SomeThingERROR() 成立或是某一個數值錯誤時,就可以 return 啦! 為什麼不能 return 呢? 沒空更新的網頁...
C及指標教學 http://coolsite.to/dllee介紹Shells http://coolsite.to/ushells
發表人 - dllee 於 2002/08/28 12:41:43
------
http://www.ViewMove.com
wivern
初階會員


發表:31
回覆:63
積分:28
註冊:2002-07-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-08-28 12:59:22 IP:61.219.xxx.xxx 未訂閱
謝謝您們的回答,我試過了,用return或Abort()都可以, 因為我這個函式沒有傳回值,所以之前以為不能用return, 後來發現用return; 不寫傳回值就可以用了~ 而用Abort()也一樣可以跳出函式~
系統時間:2024-03-29 18:54:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!