У меня есть приложение node.js, которое я хочу использовать, чтобы проверить, работает ли конкретный сайт и вернуть правильный код ответа. Я хочу иметь возможность обнаруживать любые ошибки, возникающие из-за того, что доменное имя не разрешается или время ожидания запроса истекло. Проблема в том, что из-за этих ошибок Node отказывает. Я новичок в этой методологии асинхронного программирования, поэтому я не уверен, где разместить свои операторы try / catch.
У меня есть вызов ajax, который ведет к чему-то вроде / check / site1. Сторона сервера, которая вызывает функцию, которая пытается установить соединение, а затем возвращает 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.
Есть ли рекомендации, что попробовать дальше?