Javascript中异常处理方法的详细解决方案

编程错误有三种:(1)语法错误和(2)运行时错误(3)逻辑错误:

语法错误uff1a

语法错误,也称解析错误,在编译时执行传统编程语言,并出现在Javascript解释中。

例如,下面的一行会导致语法错误,因为它缺少右括号:
<!——
window.print(;;

当Javascript中出现语法错误时,只有在其他线程代码中执行同一线程中包含的语法错误的影响,并且代码依赖于包含错误的代码不会被执行。

运行时错误:

在运行时错误(也称为异常)中执行(编译后/解释)将被触发。

例如,下面的行会导致运行时错误,因为语法是正确的,但是它试图在运行时调用一个不存在的方法
<!——
Window.printme();

异常也会影响所发生的线程,允许其他Javascript线程继续正常执行。

逻辑错误:

逻辑错误可能是最困难的错误跟踪类型。这些错误不是语法或运行时错误的结果。相反,当发生错误的驱动脚本逻辑时,您不会得到预期的结果。

您可能无法捕捉到这些错误,因为它取决于基于业务需求的逻辑类型。

尝试...抓住…最后声明:

异常处理能力增加到javascript.javascript最新版本实现的尝试…抓住…最后构造并抛出操作来处理异常。

可以捕获程序员生成和运行时异常,但不能捕获Javascript语法错误。

试试看…抓住…最后块语法:
<!——
{试
运行代码
{破};
} catch(e){
如果出现异常,则运行代码。
{破};
{最后
总是执行的代码,不管
异常发生
} }

尝试块必须只遵循一个catch块或一个最终块(或其中一个块)。当一个异常在尝试块中时,异常被放置在E和catch块中。

实例:

下面的例子是我们试图调用一个不存在的函数,这个函数会导致异常…抓住:
<!——
功能myfunc()
{
var a=100;

警报(变量a的值是:);

}

单击下面查看结果:

现在,让我们试着使用…捕获此异常并显示用户友好的消息。如果您想从用户中隐藏此错误,也可以取消此消息。
<!——
功能myfunc()
{
var a=100;

{试
警报(变量a的值是:);
} catch(e){
警报(错误:+ e.description);
}
}

单击下面查看结果:

您可以使用最后一个块在一个永久的catch语句之后无条件地执行:
<!——
功能myfunc()
{
var a=100;

{试
警报(变量a的值是:);
} catch(e){
警报(错误:+ e.description);
{ }最后
警报(最后块将始终执行)!;
}
}

单击下面查看结果:

语句:

可以使用抛出语句来改进内置异常或自定义异常。

下面是抛出语句用法的一个示例。
<!——
功能myfunc()
{
var a=100;
var b=0;

尝试{
如果(b = 0){
抛出(除以零错误);
其他{ }
var;
}
} catch(e){
警报()错误;
}
}

单击下面查看结果:

可以使用字符串、整数、布尔或对象在函数中抛出异常,因此可以捕获同一函数中的异常。我们是在上面做的,还是试试看…其他功能中的catch块。

Onerror()语法

onerror事件处理程序的第一个功能,便于Javascript处理错误。错误事件的窗口对象的每一次出现例外,例如页面触发:
<!——
检测功能(){
警报(发生错误);
}

单击下面查看结果:

onerror事件处理程序提供了三种信息找到错误的确切性质:

错误消息。浏览器将为给定的错误显示相同的消息。
URL。在错误的文件
线数。导致错误的url所给出的行号
下面是一个如何提取此信息的示例
<!——
不检测功能(味精、URL、线){
警报(消息+);
警报(URL+ URL);
警报(行号:+行);
}

单击下面查看结果:

它可以以任何方式显示,并且你认为最好是提取信息。

如果你可以使用OnError方法显示错误消息,没有加载图像如下问题:
误差=警报(一个错误加载图像。):

相应的信息是许多错误的HTML标记错误,可以使用情况显示。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部