Nodejs: Как поймать исключение из промежуточного программного обеспечения?

StackOverflow https://stackoverflow.com/questions/4063764

  •  27-09-2019
  •  | 
  •  

Вопрос

Я использую Node.js и «меньше» промежуточное программное обеспечение компилятора:

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

Теперь у меня есть неисправный .less-File, но я не могу найти какие-либо документы о том, как получить сообщение об ошибке. Страница, которую я получу, это:

<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>

Так что это не полезно. У кого-нибудь есть идея?

Это было полезно?

Решение

Ах, хорошо, получил это. Хитрость - уйти от ошибки развития

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

Похоже, глотает звонки в App.Error, так что теперь это работает:

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

Это показывает правильную ошибку вместо [объекта объекта

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top