window.onerror = function(a, b, c) {
console.log('最外层的错误====', a, b, c);
}
window.onunhandledrejection = function(a, b, c) {
console.log('最外层的错误==3333==', a, b, c);
}
function fn1() {
try{
var tt = new Promise((resolve, reject) => {
console.log('77777');
throw new Error('88888');
// reject('6666');
});
console.log('=====', tt);
} catch(e){
console.log('===error==', e);
}
}
var ttyy = fn1();
问题1: new Promise 里面的函数是同步执行的,为什么使用 try catch 不能捕获这个同步错误?
问题2: 这个错误使用上面的 window.onerror 和 window.onunhandledrejection 都不能捕获,那这种错误就没有办法进行全局捕获了吗?