编程
错误有三种:(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标记错误,可以使用
情况显示。