JS 应用try catch捕捉异样
博客阐明
文章所波及的材料来自互联网整顿和集体总结,意在于集体学习和教训汇总,如有什么中央侵权,请分割自己删除,谢谢!
简介
前端是攻克客户的先锋,须要特地留神到用户体验。在开发中,因为各种问题,异样的呈现时不可控的,所以须要对异样进行解决,优化用户体验。
try catch finally应用
try
语句容许定义在执行时进行谬误测试的代码块。
catch
语句容许定义当 try
代码块产生谬误时,所执行的代码块。
finally
语句在 try
和 catch
之后无论有无异样都会执行。
留神点: catch
和 finally
语句都是可选的,但在应用 try
语句时必须至多应用一个。当谬误产生时, JavaScript 会进行执行,并生成一个错误信息。能够应用 throw
语句 来创立自定义音讯(抛出异样)
try { // tryCode - 尝试执行代码块}catch(err) { // catchCode - 捕捉谬误的代码块}finally { // finallyCode - 无论 try / catch 后果如何都会执行的代码块}
异样解决的必要
加强用户体验,精确定位问题,欠缺的前端解决计划,比方前端监控零碎
异样解决的场景
JS 语法错误、代码异样
Promise 异样
Iframe 异样
跨域异样
接口申请AJAX 申请异样
动态资源导入加载异样
try catch的留神点
只能捕捉到同步的异样,不能捕捉语法和异步的异样,在日常应用中须要留神
// 不能捕捉语法的异样try { let name = 'aaa // 少写' } catch(e) { console.log('捕捉到异样:',e); }// VM421:1 Uncaught SyntaxError: Unexpected identifier// 不能捕捉异步的异样try { setTimeout(() => { console.log(a) // 未声明a变量 }, 1000) } catch(e) { console.log('捕捉到异样:',e); } // blog.js:1 Uncaught ReferenceError: a is not defined
感激
万能的网络
菜鸟教程
阮一峰的es6语法教程
以及勤奋的本人,集体博客,GitHub