2013-04-28 13 views
14

Mi piacerebbe catturare le eccezioni non rilevate in Meteor e gestirle in modo elegante. Esiste un analogo a Node process.on('uncaughtException', function(err) {})?È possibile impostare un gestore globale di eccezioni non rilevate in Meteor?

Sono interessato alle soluzioni sia nel client che nel server.

+2

questo sarebbe bello se esiste, sto usando 'window.onerror = function (message, url, linenumber) {...};' sul lato client per ora –

+0

Sto cercando di capire questo roba anche per il server. Tuttavia, sembra che Meteor abbia almeno delle eccezioni dai metodi del server e li segnala da solo :( – aknuds1

risposta

1

Sto testando questa idea per la gestione delle eccezioni non rilevate lato server.

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) 
}; 
+1

Funziona anche? Ho provato a installare un gestore 'uncaughtException', ma non si attiva. Sembra che Meteor stia ignorando questo in qualche modo. – aknuds1

0

Ho fatto anche questo, finendo per ignorare i diversi metodi di console, poiché posso vivere senza stacktraces. Gli errori vengono visualizzati nella finestra della console, quindi questo è il trucco per me. process.on ('uncaughtException', ...) non funziona con Meteor, e per qualche strana ragione non forniscono alcuna valida alternativa.

This little library mi ha aiutato molto, usarlo o provare a guardare il codice sorgente - è molto breve e al punto.

Problemi correlati