gpt4 book ai didi

javascript - 捕获 SyntaxError 并运行替代函数

转载 作者:可可西里 更新时间:2023-11-01 01:49:53 25 4
gpt4 key购买 nike

我正在尝试在 javascript 上构建一些东西,我可以有一个可以是一切的输入比如string, xml, javascript and (non-javascript string without quotes) 如下:

//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 native 格式

但是当我尝试在 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 等...)..不是确定这是否重要,但确实如此。 :)

最佳答案

你确定 Try...Catch block 不起作用?这个例子在 firefox 中对我有用。

try {
eval("hello I am a plain text without quotes");
} catch(err) {
alert("error caught");
}

关于javascript - 捕获 SyntaxError 并运行替代函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2436143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com