Skip to main content
Inspiring
November 5, 2017
Answered

Troubleshoot errors in JSX

  • November 5, 2017
  • 1 reply
  • 1309 views

This thing have been bugging me since I started working on my plugin.

How can I see what is the problem when JSX fails to load properly? I can kind of see that there is a problem because my functions stop working properly, but there are no error messages.

If I check CEP8-PHXS.log file it says:

ERROR AsyncEvalRawScript: Failed to evaluate script for scripting engine <..._Engine_Id> with error code 38

Other log files are empty or non-helpful.

What is code 38?
I know there should be some kind of syntax error in my script, which line does it fail on?

Running all my scripts from regular JS, I have function:

```

var logger = function(message) {

    if (console) {

        console.log(message);

    }

};

function runCsScript(script) {

    if (csInterface && csInterface.evalScript && window.__adobe_cep__) {

        csInterface.evalScript(script, logger);

    } else {

        if (console) { console.log("CSInterface.evalScript " + script); }

    }

}

```

So basically I have some debugging, either directly to console when working in JS, or via logger – it would output whatever JSX call would return.

In case of error I most likely get "EvalScript error", with no details on what was the problem.

So the question is – how can I see JSX errors to fix them?

This topic has been closed for replies.
Correct answer AverinAAA

After doing some more debugging I found that actual reason was "TypeError: Data type mismatch"

Didn't find anything in Google for that error, but following HTML Panels Tips: #11 CEP Events (ExternalObject) | Photoshop, etc.  actually helped.

So everything seems to work now.

My code looks as follows:

```

function sendEvent(event) {

    try {

        var xLib = new ExternalObject("lib:\PlugPlugExternalObject");

    } catch (e) {

        log("sendEvent error: " + e);

    }

    if (xLib) {

        var eventObj = new CSXSEvent();

        eventObj.type = event;

        eventObj.dispatch();

    }

}

```

1 reply

AverinAAAAuthorCorrect answer
Inspiring
November 5, 2017

After doing some more debugging I found that actual reason was "TypeError: Data type mismatch"

Didn't find anything in Google for that error, but following HTML Panels Tips: #11 CEP Events (ExternalObject) | Photoshop, etc.  actually helped.

So everything seems to work now.

My code looks as follows:

```

function sendEvent(event) {

    try {

        var xLib = new ExternalObject("lib:\PlugPlugExternalObject");

    } catch (e) {

        log("sendEvent error: " + e);

    }

    if (xLib) {

        var eventObj = new CSXSEvent();

        eventObj.type = event;

        eventObj.dispatch();

    }

}

```