ฉันกำลังพยายามค้นหาหรือหาวิธีแสดงในกล่องแจ้งเตือนข้อยกเว้นจาวาสคริปต์ที่ไม่ได้จัดการทั้งหมดในแอปพลิเคชัน ฉันต้องการให้ทั้งหมดนี้ทำในฝั่งไคลเอ็นต์โดยไม่ต้องใช้โค้ดฝั่งเซิร์ฟเวอร์ ฉันใช้ MVC3 เป็นสภาพแวดล้อม
ฉันได้ทำการค้นคว้าในช่วงสองสามวันที่ผ่านมาและไม่พบสิ่งที่ฉันต้องการ
ฉันพบ 2 วิธีด้านล่างซึ่งดูเหมือนว่าเกือบจะเป็นสิ่งที่ฉันกำลังมองหายกเว้นวิธีเหล่านี้ถูกตั้งค่าเพื่อให้คุณต้องส่งชื่อฟังก์ชันไปยังวิธีการที่กำหนดเองเพื่อพิมพ์การติดตามสแต็กของข้อยกเว้นที่ไม่ได้จัดการทั้งหมดภายในอันนั้น ฟังก์ชันเฉพาะ ฉันกำลังมองหาวิธีที่จะไม่ต้องส่งชื่อฟังก์ชันด้วยตนเองไปยังเมธอดแบบกำหนดเองที่พิมพ์การติดตามสแต็กของข้อยกเว้นที่ไม่ได้จัดการทั้งหมด ฉันต้องการให้วิธีการที่กำหนดเองเหล่านี้เพียงแค่ 'ฟัง' สำหรับข้อยกเว้นที่ไม่สามารถจัดการได้ทั้งหมดภายในแอปพลิเคชันทั้งหมด
http://eriwen.com/javascript/js-stack-trace/
สิ่งที่คล้ายกับลิงค์ก่อนหน้านี้:
https://github.com/eriwen/javascript-stacktrace
นี่คือโค้ดพื้นฐานจากลิงค์ที่ 2 ด้านบนที่พิมพ์ stack trace ของฟังก์ชัน javascript ที่ระบุ:
instrumentFunction: function (context, functionName, callback) {
context = context || window;
var original = context[functionName];
context[functionName] = function instrumented() {
callback.call(this, printStackTrace().slice(4));
return context[functionName]._instrumented.apply(this, arguments);
};
context[functionName]._instrumented = original;
}
function printStackTrace(options) {
options = options || {
guess: true
};
var ex = options.e || null,
guess = !! options.guess;
var p = new printStackTrace.implementation(),
result = p.run(ex);
return (guess) ? p.guessAnonymousFunctions(result) : result;
}
ดังนั้นเพื่อสรุปสิ่งนี้คุณทุกคนรู้หรือไม่ว่ามีวิธีใดบ้างที่จะมี 'ผู้ฟัง' บางประเภทเพื่อฟังข้อยกเว้นที่ไม่สามารถจัดการกับจาวาสคริปต์ทั้งหมดแล้วพิมพ์ลงบนหน้าจอในกล่องการแจ้งเตือน
ขอบคุณ! เจสัน