我想知道在 Javascript 中实现异常处理的最好和最简单的方法。我正在寻找一个“单点”解决方案。我有很多功能,不想四处走动并实现 try-catch。
我觉得 window.onerror 会是一种更好的方法,因为我只需要在一个地方实现它,并且任何函数中发生的任何异常,我都可以使用 window.onerror 来处理它。但是,这似乎仅在 IE 中受支持。有没有我可以使用的类似方法,以便它支持所有主要的标准浏览器。
提前致谢。
最佳答案
使用 try..catch block
JavaScript 中的 try..catch block 与常规的 C# try..catch block 非常相似。可疑代码将被放入 try block 中,try block 中发生的所有异常将被捕获到 catch block 中。
window.onload = function()
{
try
{
var x = 90;
var value = x / y;
}
catch(err)
{
document.write(err.name + ": " + err.message + "<br/>");
}
}
输出:
TypeError: 'y' is undefined
在 catch 中,您将获得包含异常类型和描述的对象。此外,您还可以像在 C# 中一样使用 finally block 。
window.onload = function()
{
try
{
var x = 90;
var value = x / y;
}
catch(err)
{
document.write(err.name + ": " + err.message + "<br/>");
}
finally
{
alert('This is finally block');
}
}
使用onerror事件
每次在文档中执行操作时出现任何错误都会引发 onerror 事件。这类似于 ASP.NET 中类似于 Application_Error 的现场异常处理。这是演示这一点的示例代码:
window.onload = function()
{
var x = 90;
var value = x / y;
}
window.onerror = function(errorMeaage, fileName, lineNumber)
{
document.write('Error: ' + errorMeaage);
}
使用 jQuery 解决方案
它类似于使用 onerror 但使用 jQuery 语法。语法是:
$(window).error(
function(errorMeaage, fileName, lineNumber)
{
// handle error here
}
);
关于javascript - 在 JavaScript 中实现异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4654838/