[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-nashorn-dev
Subject: Re: Clean JavaScript stack trace
From: "A. Sundararajan" <sundararajan.athijegannathan () oracle ! com>
Date: 2014-06-23 3:41:37
Message-ID: 53A79F21.803 () oracle ! com
[Download RAW message or body]
Yes, anything under "api" directory or sub-dir implements API and are
considered fairly stable. Anything else is considered as internal
-Sundar
On Saturday 21 June 2014 01:06 AM, Greg Brail wrote:
> Thank you!
>
> It's my understanding that the "jdk.nashorn.api.scripting" package is
> considered fairly stable and using it my code is "OK," so I may use that
> technique.
>
>
> On Fri, Jun 20, 2014 at 9:22 AM, A. Sundararajan <
> sundararajan.athijegannathan@oracle.com> wrote:
>
>> You can evaluate:
>>
>> function getScriptTrace() {
>> try {
>> throw new Error();
>> } catch (e) {
>> return e.stack
>> }
>> }
>>
>> in your script and call the same from java code using
>> javax.script.Invocable.invokeFunction. ("stack" property and other
>> related extensions are documented here: https://wiki.openjdk.java.net/
>> display/Nashorn/Nashorn+extensions).
>>
>> Or if you're okay with nashorn specific extension, you can use this API
>> from java code.
>>
>> public static StackTraceElement[] jdk.nashorn.api.scripting.
>> NashornException.getScriptFrames(Throwable th)
>>
>> Hope this helps,
>> -Sundar
>>
>> On Friday 20 June 2014 09:35 PM, Greg Brail wrote:
>>
>>> Is there a way in Nashorn or javax.script to get a clean JavaScript-only
>>> stack trace (not a Java stack trace, but only containing JavaScript code)
>>> out of an exception thrown by a script? I don't see anything in the
>>> Nashorn
>>> Wiki or javax.script -- apologies if I'm missing something there.
>>>
>>> For instance, I can get a full Java stack trace when my script fails, but
>>> I'd like to ignore all the Java stuff and give users the stack trace that
>>> they would get if they were running the "plain" JavaScript natively rather
>>> than inside Java.
>>>
>>>
>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic