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

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理