同步代码错误捕获try,carch

1
2
3
4
5
6
try {
const a = 1, b = 2
let c = a + b
} catch(err) {
console.error(err)
}

Promise错误捕获unhandledrejection

1
2
3
4
5
6
7
new Promise((resolve, reject) => {
reject(3)
})

window.addEventListener("unhandledrejection", function(e) {
console.error(e)
}, true);

总结

1
2
3
4
5
6
7
8
9
10
11
12
13
window.addEventListener('error', (err)=>{
console.error(err)
}, true);

window.addEventListener("unhandledrejection", function(e) {
console.error(e)
}, true);

// 加载跨域资源时,会提示Script error,需要添加跨域相关属性
// 客户端添加crossorigin属性
// 服务端添加Access-Control-Allow-Origin: *
// 否则只提示Script error,无法获取具体错误信息
<script src="https://cdn.bootcdn.net/ajax/libs/redux/4.1.0/redux.min.js"></script>

以上就是JavaScript捕获错误的方法,若有补充请留言。