- Я получил сообщение об ошибке «Uncaught SyntaxError: Invalid or неожиданный токен».
И попробуйте поймать с помощью «попробовать ~ поймать», но это не работает.
function a(){ try{ var img1 = "==""; <#-- it occurs error --> }catch (e) { console.log("image error:" + e.message); } }
Оператор javascript try catch не работает в моем коде
Ответы (1)
У вас есть синтаксическая ошибка, и вы не можете поймать синтаксическую ошибку.
Эта ошибка проверяется во время синтаксического анализа или проверки вашего кода. Оператор try .. catch
выполняется во время выполнения. И из-за этого он не работал.
Если вы оцениваете или анализируете (например, JSON) свой код, вы можете обрабатывать синтаксические ошибки только. Или вы можете создать синтаксическую ошибку следующим образом:
try {
throw new SyntaxError('Hello', 'someFile.js', 18);
} catch (e) {
console.log(e.message); // "Hello"
console.log(e.name); // "SyntaxError"
}
Для eval
обработанных или самостоятельно созданных синтаксических ошибок:
Синтаксическая ошибка возникает, когда механизм 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);
}
}
Хочу порекомендовать вам прочитать:
person
Bharata
schedule
26.06.2018
try .. catch
выполняется во время выполнения, чего никогда не произойдет, поскольку синтаксическая ошибка прервала выполнение сценария. - person Teemu   schedule 26.06.2018