proveniente da java a nodejs qual è la convenzione per la gestione degli errori di registrazione? e.message o e.stack?

0

Vengo da java, quando ho ricevuto un errore previsto ho stampato tracce dello stack. Sto arrivando ora a lavorare su nodejs (mai veramente lavorato su javascript). e nel progetto nodejs che ho bisogno di mantenere (il progetto era già stato codificato da altri sviluppatori javascript) vedo la registrazione degli errori che segue:

logger.error('some message ' + e.message)

o

logger.error('some message ' + e);

o

logger.error('some message ' + e.toString());

o

logger.error('some message');

Non ho visto stacktraces nei log. Venendo da Java ho convertito alcuni errori in:

logger.error('some message ' + e.stack)

ma poi quando uno sviluppatore javascript peer ha verificato che aveva un occhio cattivo su di me e mi ha chiesto perché lo faccio? Gli ho detto se l'errore è inaspettato, vogliamo tutte le informazioni a riguardo. Era molto turbato dal fatto che io volessi lo stack e non il messaggio, la sua affermazione è che ingombrerebbe i log, quindi ho detto ma l'errore è inaspettato, mi ha detto che qui non c'è nessun nodo qui. Voglio ancora .stack ma tutti gli sviluppatori di javascript non lo vogliono pensano che sia una cattiva pratica stampare il .stack , sento di perdere informazioni importanti. Abbiamo finito con il cambiare il mio .stack in .message .

Ho guardato i log e talvolta .stack stampa solo due righe non molto di uno stack, tuttavia per me la prima riga in cui è stampato il nome file e il numero di riga in cui si è verificato il problema giustifica il stack , il in questo caso la richiesta di sviluppatori javascript era I can search the error message in code and find it , per me non è sufficiente perché non penso che sia scalabile un giorno verrebbe dove troveremmo più posti con la stessa stampa e se avessimo uno stack lo sapremmo esattamente quale file ha stampato l'errore e in alcuni casi ha anche stack.

Venendo da java in javascript - mi manca qualcosa? dovrei fare e.message e non e.stack ? sto prendendo qualcosa da java che non dovrei essere?

grazie

    
posta Jas 29.06.2016 - 15:12
fonte

0 risposte

Leggi altre domande sui tag