在程序运行过程中,不可避免地会犯错误,而错误的结果往往是不正确的,所以程序已经出现的错误通常是被迫停止。运行时错误被统称为例外,Javascript提供了一个异常处理语句以发生错误时得到处理的机会。包括try catch,尝试抓住最后扔。

try-catch语句




尝试{
tryStatements中发生
}
捕获(异常){
catchstatements
}



参数描述:

tryStatements中发生:必须选择。一个序列,可能是错误的陈述。

异常:必须选择。任何变量名,当错误发生时用于引用错误对象。

catchstatements:是可选的。错误处理语句是用来处理错误在tryStatements中发生。

编码通常写在试块的括号中,并且在后续catch块中处理错误。错误信息包含在错误对象(错误对象)中,可以由异常引用访问。根据错误对象中的错误信息来确定是否完成了处理。





尝试{
错误;由于错误,没有在使用
}
catch(e){
警报((e.number0xffff)+错误:+ e.description); / /错误处理:输出错误信息
}




代码段使用一个catch捕获结构处理器运行时错误,第四个行人造成错误。第6行到第9行中的catch块捕获并处理错误。

提示:Javascript的错误是运行时错误和语法错误,在编译阶段发现语法错误,而运行时错误发现错误处理语句只能处理运行过程中的运行时错误。

尝试最后捕获语句




尝试{
tryStatements中发生;
}
捕获(异常){
handlestatements;
}
最后{
fianllystatements;
}



参数描述:

tryStatements中发生:必须是一个选项,可以引发异常的语句。

handlestatements:选项,异常处理语句。

fianllystatements:可以是一个可选的声明,其他进程的执行后无条件执行。

虽然在最后一块中没有错误,但语句将在结束时执行,资源清理的程序代码通常放在这里。

以人工方式遍历一个苹果名称的数组会导致异常。





尝试{
var =新数组()

对于(n = 0;n<fruit.length;M + +)
{
document.write(水果{ } + );
}
}
捕捉(e)
{
警报((e.number0xffff)+号错误:+ e.description);
}
最后{
果=空;
警报(++水果+)断开了水果数组的引用!;
}





代码段的第五行使用一个未定义的变量m,人为地导致异常。第11行到第13行捕获异常并处理它。第14行到第18行的最后一块清理资源,这是无条件执行的,以确保水果数组的资源不会泄漏。

语句



多个异常处理语句可以嵌套,嵌套使用。当多个结构嵌套,try-catch在内层声明并不打算自己来处理异常,它可以抛出。父母try-catch语句可以接收一个被扔在次级例外,并投入运营使用语句。

throw表达式;

表达式的值作为错误信息对象传递,对象将被catch语句捕获。

通常,0不能被除数分解,所以你可以定义一个异常并抛出除数0。





尝试{
var股息= 100;
var部分= 0; / 。
如果(部分= 0){ /如果除数为0或抛出异常
抛出错误:部件为零;
}
警报(++红利/部分+ );输出消息
}
catch(e){此处将捕获尝试块中抛出的异常。
警报(e);带有对象输出错误信息的对话框
}



以上是本文的全部内容,希望大家能喜欢。