Javascript попытаться поймать заявление не работает в моем коде - PullRequest
0 голосов
/ 26 июня 2018
  1. Я получил ошибку "Uncaught SyntaxError: Invalidable or неожиданный токен".
  2. И попробуйте поймать с помощью 'try ~ catch', но это не работает.

    function a(){
      try{
       var img1 = "=="";  <#-- it occurs error -->
      }catch (e) {
        console.log("image error:" + e.message);
      }
    }
    

1 Ответ

0 голосов
/ 26 июня 2018

У вас есть синтаксическая ошибка, и вы не можете отловить синтаксическую ошибку.

Эта ошибка проверяется во время анализа или проверки вашего кода. Оператор try .. catch выполняется во время выполнения. И из-за этого он не функционировал.

Если вы оцениваете или анализируете (например, JSON) свой код, вы можете обрабатывать синтаксические ошибки только . Или вы можете создать синтаксическую ошибку следующим образом:

try {
  throw new SyntaxError('Hello', 'someFile.js', 18);
} catch (e) {

  console.log(e.message);  // "Hello"
  console.log(e.name);  // "SyntaxError"
}

Для eval обработанных или самостоятельно созданных синтаксических ошибок:

SyntaxError генерируется, когда движок JavaScript встречает токены или порядок токенов, который не соответствует синтаксису языка при разборе кода.

С MDN

Попробуйте это:

    function a(){
      try{
       var img1 = "==\"";
       //but you have to put some error here without parsing or validation error of your code.
      }catch (e) {
        console.log("image error:" + e.message);
      }
    }

Я бы рекомендовал вам прочитать:

...