捕获错误常用句柄:
window.onerror: 全局捕获js执行的同步错误、异步错误、iframe错误;window.addEventListener('error'): 全局监控静态资源异常;window.addEventListener("unhandledrejection": 全局捕获没有 Catch 的 Promise 异常Vue.config.errorHandler: 全局捕获vue抓到的错误react componentDidCatch: 全局捕获 react 下的错误信息window 对象的 load 和 beforeunload事件: 监控页面崩溃,示例:
window.addEventListener('load', function () {
sessionStorage.setItem('good_exit', 'pending');
setInterval(function () {
sessionStorage.setItem('time_before_crash', newDate().toString());
}, 1000);
});
window.addEventListener('beforeunload', function () {
sessionStorage.setItem('good_exit', 'true');
});
if(sessionStorage.getItem('good_exit') &&
sessionStorage.getItem('good_exit') !== 'true') {
/*
insert crash logging code here
*/
alert('Hey, welcome back from your crash, looks like you crashed on: ' + sessionStorage.getItem('time_before_crash'));
}
Try-Catch,业务可疑点增加错误捕获。