您的位置:首页 > Web前端

谈谈前端异常捕获与上报

2018-03-26 11:06 309 查看

try catch (通常是为了判断一段代码是否存在异常)

try {
let a = 1;
let c = a + c;
} catch (err) {
// 捕获处理
console.log(err); // ReferenceError: c is not defined
}
缺点:在异常代码上进行包裹,会让页面代码显得臃肿,不适用于整个项目的异常捕获


window.onerror (全局监听异常捕获)

<script>
window.onerror = function(errorMessage, scriptURI, lineNo, columnNo, error) {
console.log('errorMessage: ' + errorMessage); // 异常信息
console.log('scriptURI: ' + scriptURI); // 异常文件路径
console.log('lineNo: ' + lineNo); // 异常行号
console.log('columnNo: ' + columnNo); // 异常列号
console.log('error: ' + error); // 异常堆栈信息
};
console.log(a);
</script>
缺点:跨域以后window.onerror是无法捕获异常信息的,所以script属性配置 crossorigin="anonymous" 并且服务器添加Access-Control-Allow-Origin。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: