3.3错误处理 视频里讲错了
3.3错误处理一节,课程里讲的不对。 计时器回到函数属于异步执行的代码,里面抛出的异常并不能被catch 捕获到。
new Promise((resolve,reject)=>{
setTimeout(()=>{
//此处抛出的异常是因为没有被捕获所以会在控制台被打印出来。
throw new Error("bye");
},2000);
// throw new Error("bye2") //同步的方式执行会被promise处理成reject立即调用,可以被后面的catch捕获到
})
.then(value=>{
console.log(value+" world");
})
.catch(error=>{//
//按照课程里的代码,setTimeout里面抛出的异常在这里是捕获不到的。
})