Javascript 由于未经授权,尝试追加子脚本元素失败时引发了什么错误

Javascript 由于未经授权,尝试追加子脚本元素失败时引发了什么错误,javascript,exception,exception-handling,error-handling,Javascript,Exception,Exception Handling,Error Handling,我想捕获此JavaScript代码的一个特定故障: var script = $wnd.document.createElement('script'); script.setAttribute('src', url); script.setAttribute('type', 'text/javascript'); 当脚本所在的url需要用户登录时,返回HTTP 401未经授权错误 我所理解的错误(在try/catch中)可能出现的值似乎都不匹配 EvalError:函数eval()中出现错误

我想捕获此JavaScript代码的一个特定故障:

var script = $wnd.document.createElement('script');
script.setAttribute('src', url);
script.setAttribute('type', 'text/javascript');
当脚本所在的url需要用户登录时,返回HTTP 401未经授权错误

我所理解的错误(在try/catch中)可能出现的值似乎都不匹配

EvalError:函数
eval()
中出现错误。
范围错误:出现超出范围的数值。
引用错误:发生了非法引用。
语法错误:函数
eval()
中的代码出现语法错误。事件。
类型错误:预期变量类型中出现错误。
URIError:对URI进行编码或解码时出错(即:调用
encodeURI()

是否有任何方法可以捕获这个401错误,或者至少捕获由于无法加载脚本而引发的IO错误类


由于ECMAScript没有任何I/O,所以它没有任何I/O错误消息也就不足为奇了。:-)你需要看看各种各样的W3C标准,但我认为它们也不能解决这个问题。也许HTML5会包含一些东西…:-/请注意,并非所有浏览器都支持此错误事件:我认为IE9之前的IE不支持此错误事件,Opera直到Opera 12(尚未发布)才支持此错误事件。还请注意,只有脚本来源相同时才会触发错误事件。@gsnedders感谢您提供这些详细信息。我的脚本不是同一个源,所以你救了我调试这个问题。如果你想提交答案,我会接受的。
script.addEventListener('error', function(){
    // Didn't load
}, true);