Wie fangen getaddrinfo ENOTFOUND

Habe ich eine Liste von links, die ich brauche überprüfen, bevor die Verarbeitung einiger Daten. Die überprüfung der Header mit http.erhalten gibt Fehler:

events.js:72   
        throw er; //Unhandled 'error' event    
          ^    
Error: getaddrinfo ENOTFOUND       
    at errnoException (dns.js:37:11) 

Ich nicht in den Griff diesem Fehler, und beendet den Prozess. Ich habe versucht, res.auf die("Fehler") und try..catch-auf http.bekommen aber nichts funktioniert.

Unten ist das code-snippet, und hier ist live-Beispiel an runnable.com

//This is OK
getHeaders('http://google.com/404pag-that-does-not-exit');


//Here is the error.
//Uncoughtable error!
getHeaders('http://doesnotexistooooo.com');

function getHeaders(link){
    var _http = require("http");
    var myUrl = require("url");

    var qs=(myUrl.parse(link).search==null) ? "" : myUrl.parse(link).search ;
    var path=myUrl.parse(link).pathname;

    var options = {
        hostname: myUrl.parse(link).hostname,
        path: path+qs,
        method: 'HEAD'
    };
    _http.get(options, function(res) {
        res.on('error',function(e){
            console.log("Error: " + myUrl.parse(link).hostname + "\n" + e.message); 
            console.log( e.stack );
        });
        console.log('STATUS: ' + res.statusCode);
        console.log('HEADERS: ' + JSON.stringify(res.headers));
    });

}
InformationsquelleAutor Maxali | 2014-02-09
Schreibe einen Kommentar