4

I resolve a problem which was showing up no compatibility on Edge but in Chrome. So, I changed using Object.assign(a, {}) instead of {...a, {}}.

Here's where I discussed this previous problem: I would like to know why my website is not showing up on Edge? it's developed on JavaScript

But, later I got another error. And let me explain you. It's this one on the console: SCRIPT1005: Expected '('. This error appears just on Edge browser.

main.load = function (page) {
    function getClass(className) {
        return Function('return ' + className)();
    }

    return new Promise((resolve, reject) => {
        try{
            new getClass(page); 
        }catch{ // Here's the: SCRIPT1005: SCRIPT1005: Expected '('; error.
            var count = 0;
            let script = dom("script",document.createElement("div"));
            script.src = `src/pages/${page}/${page}.js`;

            document.body.appendChild(script);
            return;
        }
        resolve(getClass(page));
    });
}```

I'm trying to look for a way to change some promises and try and catch that are wrapping the line the error is telling me on the console that is wrong.

```try{javascript
            new getClass(page); 
        }catch{ // Here's the: SCRIPT1005: SCRIPT1005: Expected '('; error.
            var count = 0;
            let script = dom("script",document.createElement("div"));
            script.src = `src/pages/${page}/${page}.js`;

            document.body.appendChild(script);
            return;
        }```

SCRIPT1005: Expected '('
  • 3
    `} catch (error) {` – sp00m Jun 06 '19 at 14:23
  • Thank you it worked!, but why is mandatory to use the error reserved word? – Reynald Ramirez de Luna Jun 06 '19 at 15:22
  • `error` isn't reserved here, it's just a parameter name (i.e. you can rename it `e` or `foobar`). What's mandatory is to have a single parameter for the `catch` block (will hold the error that got thrown). – sp00m Jun 06 '19 at 15:25
  • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch#The_exception_identifier – sp00m Jun 06 '19 at 15:29
  • So is this issue because Microsoft Edge is being strict about the Javascript parameter or have they forked the Chromium Repo and added custom behaviour? – Dominique Apr 21 '21 at 19:44

1 Answers1

10

To fix this is just about adding the parameter to deal with errors outputs into the catch statement. What this means is that Edge needs to know you are dealing with the error correctly.

So, I added:

     catch (err){}

And everything worked!

  • Conclusive error messaging, Edge! Thanks for pointing to the [CatchParameter](https://tc39.es/ecma262/#prod-CatchParameter), which seems mandatory anyway, with the other browsers auto-correcting it. – dakab Oct 13 '20 at 15:26