Discuss
/
JavaScript
/
为什么先打印出finally
为什么先打印出finally
Topic source...
} finally {
console.log('finally');
}
console.log('r1 = ' + r1); // r1应为undefined
console.log('r2 = ' + r2); // r2应为undefined
从上往下执行先打印r1 = undefined你觉得合理吗?
try是你不确定或者确定会发生错误的地方(可能有问题的语句) catch(e)是指try中的语句确实发生了错误你要做处理的地方 e表示错误信息 可以输出查看 finaly是指如果try中发生了错误 而catch中也没有处理的时候就走finaly
try{ console.log(aaa)//aaa是一个变量 上面没有定义 所以一定会出错 走到catch方法 }catch (e) { console.log(e)//这里没有对错误进行处理 只是输出了错误信息 aaa is not defined }finally { console.log('111')//然后进入到finally } console台的输出信息应该先是catch中的错误信息 然后是finally的处理输出
- 1
Aragakkki
老师,我不是很懂,try。。。catch。。。finally语句执行的时候为什么先打印出finally,而不是r1 = undefined?