2010-10-31 14 views
5

estoy usando Node.js y el "menos" middleware compilador:Nodejs: ¿Cómo atrapar una excepción del middleware?

app.configure(function() { 
    // ... 
    app.use(express.compiler({ src: __dirname + '/public', enable: ['less'] })) 
    // ... 
}) 

ahora tengo una defectuosa .less -file, pero no puedo encontrar ninguna documentación sobre cómo conseguir el mensaje de error . La página de recibo es la siguiente:

<html> 
    <head> 
    <title>[object Object]</title> 
    <style> 
     /* css stuff */ 
    </style> 
    </head> 
    <body> 
    <div id="wrapper"> 
     <h1>Connect</h1> 

     <h2><em>500</em> [object Object]</h2> 
     <ul id="stacktrace"></ul> 
    </div> 
    </body> 
</html> 

Así que no es útil. Alguien tiene una idea?

Respuesta

3

Ah, de acuerdo, lo tengo. El truco es dejar de distancia errorHandler desarrollo

app.configure('development', function() { 
    // app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); 
}); 

Parece que tragar llamadas a app.error, por lo que ahora funciona esto:

app.error(function(err, req, res, next) { 
    sys.puts("APP.ERROR:" + sys.inspect(err)); 
    next(err); 
}); 

Esto demuestra el error correcto en lugar de [object Object]

+0

Debe marcar esto como la respuesta correcta, de hecho es correcto. – Jessedc

Cuestiones relacionadas