如下所示:
<Meta charset="UTF-8">
Document
<script type="text/javascript">
// cache 缓存
// try-catch-finally
// 1 如果try中的代码出现了异常,就会被catch住,再catch中处理异常,// 最终,会执行finally中的代码
// 2 如果try中大代码没有出现异常,catch内部的代码就不会执行,但是,finally中的
// 代码还是会要执行
/*try {
console.log(num);
} catch(e) {
console.log(e);
} finally {
}
console.log(123);*/
function fn() {
// 如果此处直接return,首先 try就不会执行,finally也不会执行
return;
try {
var dv = document.getElementsByTagName("div");
// 此处出错了
dv.innerHTML = "12312";
console.log("1 有没有<a href="/tag/cuowu/" target="_blank" class="keywords">错误</a>??");
return;
} catch (e) {
console.log("2 如果有<a href="/tag/cuowu/" target="_blank" class="keywords">错误</a>,就会被处理");
}
finally {
// 释放try中使用的一些变量
dv = null;
console.log("3 <a href="/tag/daima/" target="_blank" class="keywords">代码</a>最终是要执行的");
}
console.log("4 <a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>体最后的一行<a href="/tag/daima/" target="_blank" class="keywords">代码</a>");
}
fn();