一.全局错误捕获
1.window.error
可以捕获 JavaScript 运行时错误。
window.onerror = function(message, source, lineno, colno, error) { console.error('Global Error:', message, source, lineno, colno, error); };
2.window.addEventListener('unhandledrejection',()=>{})
用于捕获未处理的 Promise 拒绝错误。
window.addEventListener('unhandledrejection', function(event) { console.error('Unhandled Rejection:', event.reason); });
3.Vue 的 errorHandler
可以全局注册错误处理器。
Vue.config.errorHandler = function (err, vm, info) { console.error('Vue Error:', err, info); };
二.局部错误捕获
1.try catch
常用于捕获async和await
2.Vue 的 errorCaptured钩子
捕获vue组件中的错误
export default
{ errorCaptured(err, vm, info) {
console.error('Error captured in Vue:', err, info); return false; // 返回 false 以继续传播 }
};
3.catch方法捕获promsie
基于promise的异常穿透捕获promise的错误