JavaScript 中的try catch finally

来源:互联网 发布:华为mate9怎么样知乎 编辑:程序博客网 时间:2024/05/18 00:15

定义与用法:

try/catch/finally 语句用于处理代码中可能出现的错误信息。
错误可能是语法错误,通常是程序员造成的编码错误或错别字。也 可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。
try语句允许我们定义在执行时进行错误测试的代码块。
catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
finally 语句在 try 和 catch 之后无论有无异常都会执行。

try {
tryCode - 尝试执行代码块
}
catch(err) {
catchCode - 捕获错误的代码块
}
finally {
finallyCode - 无论 try / catch 结果如何都会执行的代码块
}

try ,catch,finally的执行时间顺序,比如
Eg1:

function test(){
try{ //首先执行
console.log(“first”);
}finally{
//最后执行
console.log(“finally”);
}
}
test();
/*print
first
finally

Eg2:

function test(){
try{ //首先执行
console.log(“first”);
var strA = strB;
//由于出现异常,之后的语句不再继续在执行。
console.log(“two”)
}catch(e){
//出现异常时才会执行以下语句
console.log(“catch unexecpt error”)
}finally{
//最后执行
console.log(“finally”);
}
}
test();
/*print
first
catch unexecpt error
finally

Eg3: 如果在try之中执行了return了呢,函数的执行顺序是如何?

function test(){
try{ //首先执行
console.log(“first”);
return ;
}finally{
//最后执行
console.log(“finally”);
}
}
test();
/*print
first
finally

从上结果来看,finally之中的语句被执行了。return的作用是终止执行函数,从结果来看code在执行return之后并没有立即终止函数的执行,而是先执行了finally中的code之后才终止函数的运行。实际中它的执行顺序确实是按照上述去执行,并不是立即执行return之后就会立即终止函数的运行,说明finally 语句无论 try 和 catch 执行结果如何都会执行。

原创粉丝点击