我在表单上有一些棘手的AJAX代码,有时它会失败(不要问为什么,我无法解决它)。当发生这种情况时,我需要捕获错误,重置隐藏的字段指示符,并自然地提交表单,以便用户没有不愉快的经历。我计划使用window.onerror
来做这件事,但它永远不会被解雇!我使用IE8,我不得不担心的是IE浏览器。是否有一些问题让这个事件发挥作用?这是我的代码......
window.onerror = function() {
alert("Error!");
document.getElementById("hidAjax").value = "0";
document.forms[0].submit();
}
答案 0 :(得分:12)
“当许多开发人员因为他们为Internet Explorer启用了脚本调试而未调用他们的onerror处理程序时,会遇到一个常见的问题。如果您安装了Microsoft Script Debugger或Microsoft VisualStudio6.0®,则会出现这种情况。 (特别是Visual InterDev 6.0™) - 错误处理是这些产品启动调试器的方式。您可以在“Internet选项”对话框的“高级”选项卡上禁用给定Internet Explorer实例的脚本调试(请注意,选中“禁用脚本调试”设置将仅适用于该Internet Explorer实例):“
答案 1 :(得分:2)
try / catch还引入了一个只有catch范围的附加错误对象。在性能很重要的应用中,这不是一个好主意。
答案 2 :(得分:0)
有什么理由不把try / catch放在棘手的代码周围?