前端收集异常信息的方法有两种
- try…catch
- window.onerr
try…catch 更多的是采用埋点的方式,就是指在特定的一个请求中捕获异常信息,这样还能采集到更准确的数据。
request(id).then(({ data }) => {
console.log(data);
}).catch((e) => {
console.log(e);
requeseError(e);
})
window.onerror 的使用
// 接口出错或者前端出错
window.addEventListener('error', e => {
const err = e.error;
requeseError({
...basicInfo,
errMsg: err.message
});
});
// 专门捕获 promise 中的错误
window.addEventListener('unhandledrejection', e => {
const err = e.reason;
requeseError({
...basicInfo,
errMsg: err.message,
});
});
一个插件 - ua-parser-js
这个插件是用来收集平台信息,可以收集你的机型是 mac 还是 window,是 android 还是 iphone
import UA from 'ua-parser-js';
const uaObj = UA(navigator.userAgent);
let basicInfo = {
browser: `${uaObj.browser.name}[${uaObj.browser.version}]`,
os: `${uaObj.os.name}[${uaObj.os.version}]`,
url: location.href
};
requeseError({
...basicInfo
});
});