我正在尝试在 javascript 上构建一些东西,我可以有一个可以是一切的输入
像字符串、xml、javascript 和(不带引号的非 JavaScript 字符串)如下:
//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;");
所以前 3 个运行良好,因为它们是简单的 javascript 本机格式
但是当我尝试在 javascript 中使用它时
//plain-text without quotes
eval("hello I am a plain text without quotes");
//--SyntaxError: missing ; before statement:--//
显然 javascript 将此解释为语法错误,因为它认为它的 javascript 抛出了 SyntaxError。
所以我想做的是捕获这个错误并在发生这种情况时执行调整方法。
我已经尝试过 try catch 但它不起作用,因为它在尝试执行代码时不断返回语法错误。
任何帮助将非常感激
干杯:)
附加信息:想象一下 javascript 使用 Spidermonkey 读取的外部文件,因此它是非浏览器的东西(我不能使用 HttpRequest、DOM 等...)..不确定这是否重要,但确实如此。 :)
您确定试着抓 http://www.w3schools.com/js/js_try_catch.asp块不起作用?这个例子在 Firefox 中适用于我。
try {
eval("hello I am a plain text without quotes");
} catch(err) {
alert("error caught");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)