Malheureusement, les traces de pile provenant d'erreurs dépendent du support du navigateur. La plupart des navigateurs (tous?) Vous permettent d'accéder à une version standard de la trace de la pile (habituellement les 10 éléments principaux, iirc) en déréférenciant le champ 'pile', ce qui vous permet de:
(try ...throws...
(catch js/Error e
(.log js/console (.-stack e))))
Cependant, les traces de pile de chaînes ne sont pas très amusantes, vous ne pouvez pas cliquer dessus pour vous diriger vers la source. Il est préférable d'imprimer le répertoire d'exception sur la console javascript (si elle est disponible) pour imprimer les traces de pile avec des liens cliquables. Par exemple.
(try ...throws...
(catch js/Error e
(.log js/console e)))
Au moins en chrome, cela ne fonctionne que si la console javascript était ouverte lorsque l'erreur a été levée. C'est excellent pour le débogage, mais moins utile lorsque l'erreur était inattendue.
Les objets de la console javascript fournis par la plupart des navigateurs ont beaucoup de fonctions utiles que vous pouvez utiliser depuis clojurescript. Si vous voulez obtenir des numéros de ligne utiles, vous voudrez probablement écrire quelques macros pour injecter le code à imprimer sur la console, sinon tous vos numéros de ligne pointeront vers votre fonction d'impression.
Y a-t-il un utilisateur de ClojureScript ici qui a eu ce besoin et qui a compris comment? – Synk
Vous devriez obtenir des traces de piles de Firefox et Chrome maintenant. – dnolen