案例1:
function ss(resolve, reject){
//consoles.log("第一波报错");
resolve(1234);
}
function test(){
new Promise(ss).then(function(value) {
console.log(value);
consoles.log("第二波报错");
},function(error){
console.log("第一波报错~");
//如果有throw error,报错信息将会传递到catch()方法内
//throw error;
}).catch(function(err){
console.log('第二波报错~:promise catch err:'+err);
});
}
test();
捕获报错知识点
ss()方法里报错,捕获错误信息方式为
then(function(value){
//代码
}, function(error){
//报错信息
});
then()方法内报错,捕获错误信息方式为
then().catch(function(error){
//报错信息
});
案例2
try{
conselogg.log("Ss");
}catch(e){
console.log("报错~");
//如果有throw e,报错信息将会传递到window.onerror()方法内
//throw e;
}
window.onerror = function(message, url, line,columnNumber,errorObj){
console.log("错误信息:" , message);
console.log("出错文件:" , url);
console.log("出错行号:" , line);
console.log("出错列号:" , columnNumber);
console.log("错误详情:" , errorObj);
}
普通代码报错会被window.onerror() 捕获到报错信息;
如有try{}catch(e){} ,则会被捕获,window.onerror()获取不到信息,除非加上了throw e;