try-catch 能抛出 promise 的异常吗?
try {
throw new Error('1')
} catch(error) {
console.log(error)
}
这是最常见的 try-catch,会 log 下面的内容:
注意,这里并不是红色的,因为 js 异常被捕获后,js 是能够正常往下执行的,如果没有被捕获的话,那么 js 将抛出异常,js 执行将会停止!
例子:
// 异步,宏任务
try {
setTimeout(function() {
console.log(b);
}, 0);
} catch (error) {
console.log(error); // 这里是不会执行的
}
console.log('out try catch')
此时 js 会抛出异常,catch 后面的代码都不会执行
// 异步,微任务
try {
new Promise(()