特定のサイトが稼働しているかどうかを確認し、適切な応答コードを返すために使用するnode.jsアプリがあります。ドメイン名が解決されていないか、リクエストがタイムアウトしているときに発生するエラーをキャッチできるようにしたいと思います。問題は、これらのエラーが原因でノードがクラップアウトすることです。私はこの非同期プログラミング方法論全体に慣れていないので、try/catchステートメントをどこに置くべきかわかりません。
/ 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呼び出しに戻すことができるようにしたいと思います。
次に何を試すべきかについての推奨事項はありますか?