Oggi come al solito iteravo tra lo scrivere il codice e lo scrivere gli spec test Javascript (con il test framework accennato precedentemente) e ad un certo punto un test fallisce...
DOH!
...il che è normale mentre stai facendo refactoring o stai aggiungendo feature, ma questa volta il problema si trovava in una callback javascript che veniva richiamata in molti punti (e ricorsivamente tra l'altro).
Dato che il suddetto test framework (JSSpec) esegue il catch delle eccezioni, per mostrarne un breve log nel report html che genera, in FireBug l'eccezione non arriva proprio e non è in grado di mostrarmi il backtrace (per capire "chi chiama chi e passandogli quali parametri" ;-) )
Ora... daccordo (con me stesso :-P) che la cosa dovrebbe essere risolta nel sorgente di JSSpec, avevo comunque bisogno di poter vedere quel backtrace... e lo volevo vedere SUBITO!
Dal sito di documentazione per gli sviluppatori del progetto mozilla è possibile verificare che Mozilla aggiunge un attributo fuori standard all'oggetto globale Error che ritorna il backtrace di dell'eccezione "catch-ata".
Quindi in codice:
try {
// il vostro pericolosissimo codice
}
catch (e) {
console.log(e)
console.log(e.backtrace)
[...]
}
Il risultato visibile nella console di FireBug:
non
è il massimo... ma per ora può bastare ;-)
Grazie Mozilla Developer Network :-D
0 commenti:
Posta un commento