【发布时间】:2013-12-30 10:53:46
【问题描述】:
为什么动态添加 javascript 代码时无法处理 js 错误?
代码如下:
try {
var element = document.createElement("script");
element.language = "javascript";
element.type = "text/javascript";
element.defer = true;
element.text = "this is not a javascript code";
var head = document.getElementsByTagName('head')[0];
head.appendChild(element);
} catch(err) {
alert("error caught");
}
即使脚本不正确,也不会显示error caught 警报。
【问题讨论】:
-
这是什么类型的错误,在普通的脚本标签中尝试不会抛出错误吗?无论如何,该代码(假设这只是一个示例)会引发
SyntaxError,这是一个无法通过 try-catch 语句处理的早期错误。