我有一個node.js應用程序,我想用它來檢查特定的站點是否啓動並返回正確的響應代碼。由於域名未解決或請求超時,我希望能夠捕獲出現的任何錯誤。問題在於這些錯誤會導致Node出錯。我對這個完整的異步編程方法很陌生,所以我不確定把try/catch語句放在哪裏。如何在node.js中捕獲http客戶端請求異常
我有一個類似/ check/site1的ajax調用。服務器端調用一個試圖建立連接並返回statusCode的函數。這是一個非常簡單的函數,並且我將每行都包含在try/catch中,並且它從不捕獲任何東西。那就是:
function checkSite(url){
var site = http.createClient(80, url);
var request = site.request('GET', '/', {'host': url});
request.end();
return request;
}
即使每個包裹在一個try/catch那些行的,我仍然會得到捕獲的異常像EHOSTUNREACH等。我希望能夠抓住那些並將其返回給ajax調用。
關於接下來要做什麼的建議?
最翔實。回答。永遠。你推薦什麼 是我現在有它設置,但不是一個選擇,我會檢查多個網站和各自所需的響應。現在我將研究其他路由,直到添加更好的異常處理。 這真的是令人失望,這些類型的錯誤只是浮動到頂部。 – mattmcmanus 2010-12-01 20:28:14