Приветствую всех!
Вопрос по nodejs. Подскажите - как ловить ексепшены асинхронных действи?
Вот пример кода:
try {
    var http = require('http');
    http.createServer(function (req, res) {
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.end('Hello World\n');
    }).listen(8080, function () {
        console.log("Server start");
        console.log(JSON.stringify(arguments));
    }).listen(8082, function () {
        console.log("Server start");
        console.log(JSON.stringify(arguments));
    });
} catch (error) {
    // сюда код не доходит!!!
    console.log("Error"+error);
}
Предположим, что у меня на сервере один из портов занят, например, 8080, то конструкция listen выдает ошибку. Ситуация вполне рядовая, необходимо эту ошибку впоймать и как-то её обработать. Стандартные средства try/catch не подходят, в данном примере вываливается необработанный эксепшен и останавливается процесс.
Подозреваю, что это связано с асинхронными действиями.
Ребята, подскажите, как с этим бороться?