En el mundo JS, SyntaxError PUEDE ser una excepción de tiempo de ejecución. Esto puede surgir, por ejemplo, cuando se intenta analizar una respuesta JSON que no es formato JSON. El servidor puede enviar muchos tipos de respuestas, por lo que si envía una respuesta de cuerpo HTML a su solicitud que espera JSON en el cuerpo, obtendrá un SyntaxError
en el JS. En tal caso, obtendría un mensaje de error que se parece a esto: SyntaxError: JSON Parse error: Unrecognized token '<'
.
Pero hay otros SyntaxErrors en tiempo de ejecución que también podría obtener. Mozilla tiene una lista de algunos aquí: SyntaxErrors for JSON parsing
Es posible que desee atraparlos en su código. Puede hacerlo con un bloque try/catch genérica como esto:
try {
JSON.parse('<html></html>');
} catch (e) {
console.log("I catch & handle all errors the same way.");
}
O usted puede buscar la SyntaxError específicamente:
try {
JSON.parse('<html></html>');
} catch (e) {
if (e instanceof SyntaxError) {
console.log("I caught a pesky SyntaxError! I'll handle it specifically here.");
} else {
console.log("I caught an error, but it wasn't a SyntaxError. I handle all non-SyntaxErrors here.");
}
}
Mozilla tiene aún más info on JS errors and handling them.
relacionado: http://stackoverflow.com/questions/12219154/ignore-javascript-errors-in-a-page-and-continue-executing-the-script –