为什么 ExtendScript 不对无效的 XML 字符串抛出错误?
Why doesn't ExtendScript throw an error on invalid XML string?
我现在正在使用 XML 和 ExtendScript 进行一些开发。我不确定我是否理解为什么当我 运行 以下脚本时,ESTK 不会抛出错误:
var random_string = "asdsfjlkj";
try {
testXML = new XML(random_string);
} catch (err) {
$.writeln("There was an error creating an XML object:" + err);
}
我希望 $.writeln
字符串出现在 ESTK 的控制台中,但它没有。相反,我只得到 Result: undefined
。根据 Adobe 的 Javascript 工具指南第 246 页:
If a valid string is supplied, returns a new XML object encapsulating the XML code. If the XML code cannot be parsed, throws a JavaScript error.
If an existing object is supplied and the new operator is used, returns a copy of the object; otherwise, returns the object itself.
我想我的问题是 new XML()
方法实际上会抛出什么样的字符串?
语法x = new XML (y);
是创建一个XML类型的新对象x
,初始值为y
,其中y
必须形成valid XML.
的字符串表示
来自 ESTK 帮助:
XML XML (text: string)
Parses an XML string. Throws an error if the XML is incorrect.
因此,以下将全部失败:
Ziki 的 <asdf
:"There was an error creating an XML object:SyntaxError: XML error in line 1 - Unclosed token"
<abc a='1>
: ".. - 未关闭的令牌"
<abc a=1>
:“.. - 格式不正确(无效标记)”
<123>
:“.. - 格式不正确(无效标记)”
<abcd><b></abcd>
:“.. - 标签不匹配”
<?xml verson="1.0"?><abc>
: ".. - 语法错误"(这里,verson
需要是 version
)
还有这些(每一行都是一个单独的输入字符串)没问题:
abcd>
<abcd>
<abcd><a> (this automatically gets expanded to <abcd><a/></abcd>)
<abc a="1">
我现在正在使用 XML 和 ExtendScript 进行一些开发。我不确定我是否理解为什么当我 运行 以下脚本时,ESTK 不会抛出错误:
var random_string = "asdsfjlkj";
try {
testXML = new XML(random_string);
} catch (err) {
$.writeln("There was an error creating an XML object:" + err);
}
我希望 $.writeln
字符串出现在 ESTK 的控制台中,但它没有。相反,我只得到 Result: undefined
。根据 Adobe 的 Javascript 工具指南第 246 页:
If a valid string is supplied, returns a new XML object encapsulating the XML code. If the XML code cannot be parsed, throws a JavaScript error. If an existing object is supplied and the new operator is used, returns a copy of the object; otherwise, returns the object itself.
我想我的问题是 new XML()
方法实际上会抛出什么样的字符串?
语法x = new XML (y);
是创建一个XML类型的新对象x
,初始值为y
,其中y
必须形成valid XML.
来自 ESTK 帮助:
XML XML (text: string)
Parses an XML string. Throws an error if the XML is incorrect.
因此,以下将全部失败:
Ziki 的 <asdf
:"There was an error creating an XML object:SyntaxError: XML error in line 1 - Unclosed token"
<abc a='1>
: ".. - 未关闭的令牌"
<abc a=1>
:“.. - 格式不正确(无效标记)”
<123>
:“.. - 格式不正确(无效标记)”
<abcd><b></abcd>
:“.. - 标签不匹配”
<?xml verson="1.0"?><abc>
: ".. - 语法错误"(这里,verson
需要是 version
)
还有这些(每一行都是一个单独的输入字符串)没问题:
abcd>
<abcd>
<abcd><a> (this automatically gets expanded to <abcd><a/></abcd>)
<abc a="1">