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