怎么捕获错误并且处理,是一门语言必备的知识。在JavaScript中也是如此。
那怎么捕获错误呢?初看好像很简单,try-catch就可以了嘛!但是有的时候我们发现情况却繁多复杂。
Q1: 同步可以try-catch,但一个异步回调,比如setTimeOut里的函数还可以try-catch吗?
Q2: Promise的错误捕获怎么做?
Q3: async/await怎么捕获错误?
Q4: 我能够在全局环境下捕获错误并且处理吗?
Q5: React16有什么新的错误捕获方式吗?
Q6: 捕获之后怎么上报和处理?
问题有点多,我们一个一个来。
Q1. 同步代码里的错误捕获方式
在同步代码里,我们是最简单的,只要try-catch就完了
function test1 () { try { throw Error ('callback err'); } catch (error) { console.log ('test1:catch err successfully'); } } test1();