前端 JS 异常那些事
前端JavaScript异常处理主要涉及以下几个方面:
- 捕获异常:使用
try...catch
语句捕获可能发生的异常。 - 处理Promise异常:使用
.catch()
处理Promise中的异常。 - 全局异常处理:监听
window.onerror
进行全局异常处理。 - 异常报告:将捕获的异常信息发送到服务器以便追踪和分析。
示例代码:
// 捕获同步代码异常
try {
// 可能会抛出异常的代码
let result = 1 / 0;
} catch (error) {
console.error('捕获到异常:', error);
}
// 捕获异步代码异常(Promise)
new Promise((resolve, reject) => {
// 可能会抛出异常的代码
let result = 1 / 0;
resolve(result);
}).catch(error => {
console.error('捕获到异常:', error);
});
// 全局异常处理
window.onerror = function(message, source, lineno, colno, error) {
console.error('捕获到全局异常:', {
message, source, lineno, colno, error
});
// 这里可以添加异常上报的代码
};
// 异常报告示例(需要一个异常上报的函数)
function reportError(error) {
// 发送异常信息到服务器的代码
console.log('异常已报告:', error);
}
// 监听未捕获的Promise异常
window.addEventListener('unhandledrejection', event => {
event.preventDefault();
reportError({ reason: event.reason });
});
在实际应用中,你可能需要结合日志系统、错误跟踪服务(如Sentry)来完善异常处理流程。
评论已关闭