JS 应用try catch捕捉异样

博客阐明

文章所波及的材料来自互联网整顿和集体总结,意在于集体学习和教训汇总,如有什么中央侵权,请分割自己删除,谢谢!

简介

前端是攻克客户的先锋,须要特地留神到用户体验。在开发中,因为各种问题,异样的呈现时不可控的,所以须要对异样进行解决,优化用户体验。

try catch finally应用

try语句容许定义在执行时进行谬误测试的代码块。

catch 语句容许定义当 try 代码块产生谬误时,所执行的代码块。

finally 语句在 try catch 之后无论有无异样都会执行。

留神点: catchfinally 语句都是可选的,但在应用 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