抛出异常时不要停止JavaScript

1' *_* -- 4 javascript exception try-catch

我正在使用JavaScript编写Windows边栏小工具.现在我希望捕获所有JavaScript异常并将其记录到文本文件中.一个问题是,当在任何行抛出异常时,下一行将不会被执行.是否可以自动捕获异常,以便可以执行以下JavaScript行.

以下是演示我的问题的示例代码:

try
{
    alert(document.getElementById("non-existing-element").value);
}
catch(ex)
{
}
alert("This is shown.");
alert(document.getElementById("non-existing-element").value);
alert("This is not shown.");
Run Code Online (Sandbox Code Playgroud)

因此,一个大的try-catch-method允许记录错误,但其余的代码将不会被执行.一种解决方案是捕获每一行的错误.但是数千行的代码太多了.(或者我写了一个为我这样做的宏)也许任何人都可以帮助我.

谢谢.

Uti*_*ron 6

您应该尝试构建适当的逻辑来控制它们,而不是试图捕获错误.

var myEle = document.getElementById("non-existing-element")

if (myEle != null)
   alert(dmyEle.value);
Run Code Online (Sandbox Code Playgroud)

但是你正在描述抑制错误

可以使用onerror事件处理程序抑制JavaScript中的错误.

function handleErr(msg, url, line_no){ 
   var errorMsg = "Error: " + msg + "\n"; 
       errorMsg += "URL: " + url + "\n"; 
       errorMsg += "Line: " + line_no + "\n\n"; 

    alert(errorMsg); 

 return true;
} 

// Set the global onerror; 
onerror = handleErr;
Run Code Online (Sandbox Code Playgroud)

更多信息在这里