Nel mio programma NodeJS, analizzo alcuni file JSON dell'utente.Come specificare un "causato da" in un errore JavaScript?
Quindi io uso:
this.config = JSON.parse(fs.readFileSync(path));
Il problema è che se il file JSON non è formattato correttamente, l'errore gettato è come:
undefined:55
},
^
SyntaxError: Unexpected token }
at Object.parse (native)
at new MyApp (/path/to/docker/lib/node_modules/myApp/lib/my-app.js:30:28)
...
Poiché non è davvero facile da usare Vorrei lanciare un Error
specificando un messaggio user friendly (come "il tuo file di configurazione non è ben formato") ma voglio mantenere lo stacktrace per puntare alla linea problematica.
Nel mondo Java ho utilizzato throw new Exception("My user friendly message", catchedException)
per ottenere l'eccezione originale che ha causato quello.
Com'è possibile nel mondo JS?
avvolgerla in 'try {} catch() {}' e creare il proprio messaggio. –
Sì, questo è come volevo fare all'inizio. Ma volevo mantenere anche lo stack originale, che contiene il messaggio originale che punta alla linea problematica (nel mio esempio) ... E non riesco a trovare un modo "buono" per farlo nella gestione degli errori JS che ho visto fino a ora sul web ... –
In realtà vedo che la mia domanda è un duplicato di: http://stackoverflow.com/questions/17886769/how-to-chain-exceptions-in-javascript-ie-add-cause-like -in-java –