Lorsqu'une exception JavaScript est levée dans IE 8, comment puis-je voir sa trace de pile ?
Par exemple, le code suivant de jQuery attrape une exception et la relance. Lors du débogage dans Visual Studio (2012), l'exécution s'interrompt lorsque l'exception ('e') est détectée par jQuery, mais je ne parviens pas à voir la trace de la pile d'où provient l'exception :
// resolve with given context and args
resolveWith: function( context, args ) {
if ( !cancelled && !fired && !firing ) {
firing = 1;
try {
while( callbacks[ 0 ] ) {
callbacks.shift().apply( context, args );
}
}
// We have to add a catch block for
// IE prior to 8 or else the finally
// block will never get executed
catch (e) {
throw e;
}
finally {
fired = [ context, args ];
firing = 0;
}
}
return this;
}
J'ai essayé le stacktrace.js mais il semble ignorer l'exception lorsque le navigateur est IE 8, se contentant de produire la trace de la pile de la trame actuelle.
EDIT :
Comme vous pouvez le voir sur la capture d'écran ci-dessous, l'exception n'a aucune propriété relative à la pile :