Estoy tratando de construir algo en Javascript que puedo tener una entrada que puede ser todo como cadena, XML, Javascript y (cadena no javascript sin comillas) de la siguiente manera :Javascript - SyntaxError captura y ejecutar función alternativa
//strings
eval("'hello I am a string'"); /* note the following proper quote marks */
//xml
eval(<p>Hello I am a XML doc</p>);
//javascript
eval("var hello = 2+2;");
así que esta primera 3 están funcionando bien, ya que son formatos nativos de JavaScript simples
pero cuando intento utilizar esto dentro Javascript
//plain-text without quotes
eval("hello I am a plain text without quotes");
//--SyntaxError: missing ; before statement:--//
Obviamente javascript interpreta esto como un error de sintaxis porque cree que su javascript arroja un SyntaxError.
Entonces, ¿qué me gustaría hacer para detectar este error y realizar el método de ajuste si esto ocurre?
Ya he intentado con try catch pero no funciona, ya que sigue devolviendo el error de sintaxis tan pronto como intenta ejecutar el código.
Cualquier ayuda sería muy apreciada
Saludos :)
Información adicional: imaginar a un archivo externo que Javascript leerían, utilizando spidermonkey, así que es un material no-navegador (no puedo usa HttpRequest, DOM, etc ...) ... no estoy seguro si esto importa, pero ahí está. :)
ja que sea adecuado (que bestia :()! Gracias Jesse mucho, yo estaba tratando antes de declarar directamente sin la eval, es por eso que tengo el error ... pero dentro de la eval se funcionó muy bien! aplausos :) – zanona
Sí, no veo lo que está mal con esta forma de hacerlo. – Robusto
También traté de detectar un error de sintaxis pero de todos modos lo envió a la consola como "no capturado". El error de sintaxis fue causado por una solicitud abortada de Ajax no como "eval" pero es el mismo concepto, pensé que '' try..catch'' funcionaría pero no fue así. –