关于javascript:JS-使用try-catch捕获异常

59次阅读

共计 893 个字符,预计需要花费 3 分钟才能阅读完成。

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

正文完
 0