Можно ли установить глобальный обработчик исключенных исключений в Meteor? - программирование
Подтвердить что ты не робот

Можно ли установить глобальный обработчик исключенных исключений в Meteor?

Я хотел бы поймать исключенные исключения в Метеор и обработать их изящно. Есть ли аналог Node process.on('uncaughtException', function(err) {})?

Меня интересуют решения как на клиенте, так и на сервере.

4b9b3361

Ответ 1

Я тестирую эту идею для обработки исключенных исключений на стороне сервера.

Fiber = Npm.require('fibers');
process.on('uncaughtException', function(err){
    console.log(err.message);
    console.log(err.stack);
    Fiber( function(){
        Logs.insert({ ... }) // Logs is a collection
    }).run();
    process.exit(1)
};

Ответ 2

Я тоже боролся с этим, в конечном итоге переопределив различные методы консоли, так как я могу жить без stacktraces. Ошибки отображаются в окне консоли, поэтому это делает трюк для меня. process.on('uncaughtException',...) не работает с Meteor, и по какой-то странной причине они не дают никакой приятной альтернативы.

Эта небольшая библиотека помогла мне многое, использовать ее или попробовать посмотреть исходный код - очень короткий и точный.