К сожалению, следы стека от ошибок зависят от поддержки браузера.Большинство (всех?) Браузеров позволят вам получить доступ к стандартной версии трассировки стека (обычно 10 лучших элементов, iirc) в виде строки, разыменовав поле 'stack', так что вы можете сделать что-то вроде этого:
(try ...throws...
(catch js/Error e
(.log js/console (.-stack e))))
Тем не менее, трассировки стека строк не очень веселые, вы не можете щелкнуть их, чтобы перейти к источнику.Лучше распечатать каталог исключений на консоли javascript (если он доступен), чтобы распечатать трассировки стека с интерактивными ссылками.Например,
(try ...throws...
(catch js/Error e
(.log js/console e)))
По крайней мере, в Chrome, это работает, только если консоль javascript была открыта при возникновении ошибки.Это отлично подходит для отладки, но менее полезно, когда ошибка была неожиданной.
Консольные объекты javascript, предоставляемые большинством браузеров, имеют множество полезных функций, которые вы можете использовать из clojurescript.Если вы хотите получить полезные номера строк, вы, вероятно, захотите написать пару макросов, чтобы внедрить код для печати в консоль, иначе все номера строк будут указывать на вашу функцию печати.