> Le 24 août 2018 à 05:55, J Decker <d3c...@gmail.com> a écrit : > > On Thu, Aug 23, 2018 at 5:26 PM Aaron Gray <aaronngray.li...@gmail.com > <mailto:aaronngray.li...@gmail.com>> wrote: > I am debugging existing code that I have modularized, and am class'izing that > has unittests and it just would have been very useful to have this facility. > In a browser, console.log is usually associated with the file and line > number anyway; which includes using devtools with node.... but it would be > handy for logging. with V8 there is console.trace; which spits out the stack > trace too... before I discovered that I did a logging function like... > > (from > https://stackoverflow.com/questions/591857/how-can-i-get-a-javascript-stack-trace-when-i-throw-an-exception > > <https://stackoverflow.com/questions/591857/how-can-i-get-a-javascript-stack-trace-when-i-throw-an-exception> > ) > function stackTrace() { var err = new Error(); return err.stack; } // parse > stack to get frame-1 online > > // or maybe just frame-1... > function stackTrace() { var err = new Error(); return err.stack.split( "\n" > )[1]; } > > --- > function stacktrace() { > function st2(f) { > return !f ? [] : > st2(f.caller).concat([f.toString().split('(')[0].substring(9) + '(' + > f.arguments.join(',') + ')']); > } > return st2(arguments.callee.caller); > } > > EDIT 2 (2017) : > > In all modern browsers you can simply call: console.trace(); (MDN Reference) > --- > > Although I do still miss just being able to get __FILE__ and __LINE__
See also: https://github.com/tc39/proposal-error-stacks <https://github.com/tc39/proposal-error-stacks> If/when that proposal is implemented, you'll have a simple way to get a *structured* representation of the trace: ```js System.getTrace(new Error) ``` from which you can much more easily extract line number, filename, etc. —Claude
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss