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

使用TNMHTTP遇到ESocketError,我該如何自己處理它

答題得分者是:RaynorPao
BoHann
一般會員


發表:3
回覆:0
積分:0
註冊:2003-09-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-28 10:04:11 IP:203.68.xxx.xxx 未訂閱
我想要「發生錯誤時,再試一次」我該怎麼做呢?我目前的寫法Compile過不了 try { NMHTTP1->Get("http://tw.yahoo.com"); Memo1->Lines->Add(NMHTTP1->Body); AnsiString filename; filename="C:\\temp\\temp.htm"; Memo1->Lines->SaveToFile(filename); } catch(ESocketError) { //我想處理這個意外 //再試一次,或是其他處理 }
RaynorPao
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-28 10:28:02 IP:203.73.xxx.xxx 未訂閱
引言: 我想要「發生錯誤時,再試一次」我該怎麼做呢?我目前的寫法Compile過不了 try { NMHTTP1->Get("http://tw.yahoo.com"); Memo1->Lines->Add(NMHTTP1->Body); AnsiString filename; filename="C:\\temp\\temp.htm"; Memo1->Lines->SaveToFile(filename); } catch(ESocketError) { //我想處理這個意外 //再試一次,或是其他處理 }
BoHann 你好:
(1)改成這樣子寫試試看
#> szFile="C:\\temp.htm">Get("http://tw.yahoo.com");
      Memo1->Lines->Add(NMHTTP1->Body);
      Memo1->Lines->SaveToFile(szFile);
   }
   catch(ESocketError& e)
   {
      ShowMessage("Socket Error!");
   }
}
(2)如果你想再試一遍的話,可以把上面的程式碼自己改成一個 function,如果
   成功的話,就傳回 true,失敗的話,就傳回 false,當傳回 false 的時候
   就再 call 一次,至於要 retry 幾次,就要你自己決定了
    -- 
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
系統時間:2024-05-05 16:30:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!