ใชใใจใฉใผใๅ้ใใใฎใ
- ใใฐๆขใ
- ใใฐใ่ฆใคใใฆๆฝฐใใฆใใใใ
- ใฆใผใถใใใฎใใฐๅ ฑๅใฎ่ฃๅฉ
- ใฆใผใถใซๅ ฑๅใฎ่ฒ ๆ ใใใใชใใใ
ใจใฉใผใๅๅพใใ
ๅๅพใฟใคใใณใฐ
window.onerror- Promise ใฎใจใฉใผ
- ใใฌใผใ ใฏใผใฏๆฏใฎ็นๅฎใฎใฟใคใใณใฐ
window.onerror
window.onerror ใซใกใฝใใใ็ป้ฒใใฆใใใใจใงใจใฉใผ็บ็ๆใซใใฎใกใฝใใใๅผใฐใใใtry-catch ใงใใณใใชใณใฐใใฆใใชใใจใฉใผใๆตใใฆใใใ
window.onerror = (message, file, lineNo, colNo, error) => {
}
ๅคใใใฉใฆใถใงใฏ error ใชใใธใงใฏใใๅๅพใงใใชใใฎใงๆณจๆใใใใจใ
Promise ใฎใจใฉใผ
window.onerror ใงใฏ Promise ใ reject ใใใ้ใฎใจใฉใผใใณใใชใณใฐใ่กใฃใฆใใชใใจใฉใผใฏๆคๅบใงใใพใใใ
ใคใพใไปฅไธใฎใใใชใณใผใใงใฏๅๅฟใใฆใใใชใใจใใใใจใงใใ
window.onerror = (a,b,c,d,e) => {
console.error('window.onerror', a,b,c,d,e);
};
const promise = new Promise(() => {
throw new Error('error dayo~');
});
promise.then(() => {
console.log('kurae!');
});
ใใใง็ปๅ ดใใใฎใ unhandledrejection ใคใใณใใงใใ
window.addEventListener("unhandledrejection", function (event) {
console.warn("WARNING: Unhandled promise rejection. Shame on you! Reason: "
+ event.reason);
});
ใใฌใผใ ใฏใผใฏๆฏใฎ็นๅฎใฎใฟใคใใณใฐ
ไฝฟ็จใใฆใใใใฌใผใ ใฏใผใฏใซใใฃใฆใฏ window.onerror ใงใจใฉใผใๅๅพใงใใชใๅ ดๅใใใใไพใใฐ Angular ใงใฏ ErrorHandler ใจใใฆๅฎ่ฃ
ใใๅฟ
่ฆใใใใ
Sentry ใฎใตใคใ ใ่ฆใใจๅใใฌใผใ ใฏใผใฏใงใฎ้ฐๅฒๆฐใๆดใใใ
ๅๅพใใๆ ๅ ฑ
- ในใฟใใฏใใฌใผใน
- UserAgent
- URL
- ็พ่ฑกใ่ตทใใใใผใธ ID
- URL ใๅฒใๆฏใฃใฆใใชใๅ ดๅใจใ
- ใฆใผใถๆ
ๅ ฑ
- ็กๅๅ
- ใใฎไปๆใใจใใฐใฎ็นๅฎใซไพฟๅฉใชใใฎใ่ฆใคใใใๆใใฆใใ ใใ
stacktrace.js
window.onerror ใงๅๅพใใใจใฉใผๆ
ๅ ฑใใใฎใพใพๆๅญๅใง้ใฃใฆใใใใใฉใฉใคใใฉใชใไฝฟใใจใใฃใจๆฑใใใใใ
stacktrace.js ใไฝฟใใจ sourcemap ใ่งฃ้ใใฆใใใใฎใงๅคงๅคไพฟๅฉใ
sourcemap ใใกใคใซใ้ๅ
ฌ้ใซใใฆใใๅ ดๅใฏ Sentry ็ญใฎไป็ตใฟใซไนใใ stacktrace.js ไปฅๅคใๆค่จใใๅฟ
่ฆใใใ
ใจใฉใผใๅ้ใใ
ๅ้ๅ ใฎ้ธๅฅ
- ใจใฉใผๅ้็ณปใตใผใใน
- ไธ่ฆง
- ๅคงๆต
window.onerrorใงใชใๅๅฅใฎไป็ตใฟใ็จๆใใใฆใใ - ๆขใซไฝฟใฃใฆใใตใผใในใใใใฐใใใซ JavaScript ใฎใจใฉใผใๆใใคใใใจ่ฏใใใ
- ่ชๅใตใผใ
- Ajax ใงใจใฉใผๅ ๅฎนใ้ใใคใใ
่ชๅใตใผใใซๆใใใจใใฎๆณจๆ็น
ๅฅใใกใคใณใซใใ JavaScript ใใกใคใซใ่ชญใฟ่พผใใงใใๅ ดๅ CORS ใ็ช็ ดใใๅฟ
่ฆใใใใ
ใใใชใใจใจใฉใผๅ
ๅฎนใๅ
จใฆ Script error. ใซ็ฝฎใๆใใฃใฆใใพใใใจใฆใๆฒใใใ
ๅฏพๅฟใใชใใจใใใชใใฎใฏไปฅไธใฎ2ใคใ
- crossorigin ๅฑๆง
- CORS ใใใ
crossorigin ๅฑๆง
ในใฏใชใใใ่ชญใฟ่พผใใงใใ็ฎๆใซ crossorigin="anonymous" ใไปไธใใใ
<script src="http://another-domain.com/app.js" crossorigin="anonymous"></script>
CORS ใใใ
JavaScript ใใกใคใซใๆไพใใใตใผใใฎใฌในใใณในใซ Access-Control-Allow-Origin ใใใใไปไธใใใ
Comments
Let's comment your feelings that are more than good