Làm cách nào để ghi đè trình xử lý ngoại lệ toàn cầu trong javascript để nó trở thành trình xử lý cấp cao nhất cho tất cả ngoại lệ chưa được nắm bắt?Trình xử lý ngoại lệ javascript toàn cầu (trong Chrome)
EDIT: window.onerror didnt làm việc, mã là:
<HTML>
<HEAD>
<script language='javascript'>
window.onerror = function (em, url, ln) {
alert(em + ", " + url + ", " + ln);
return false;
}
function fGo() {
try
{
var a = b; // error here : b not defined
}
catch (e)
{
throw e;
}
}
</script>
</HEAD>
<BODY>
<button onclick='fGo()'>GO</button>
</BODY>
</HTML>
Tôi đang thử nghiệm trên chrome, bằng cách này. Bảng điều khiển dành cho nhà phát triển đăng ký ngoại lệ không bị bắt, nhưng cảnh báo() trong window.onerror không xuất hiện.
Đúng vậy. Và WebKit gần đây đã thực hiện một số tiến bộ trong việc sửa lỗi đó. Nó chưa được khắc phục, nhưng tại đây bạn có liên kết để cập nhật: https://bugs.webkit.org/show_bug.cgi?id=8519 –
Theo http://groups.google.com/group/js-test- driver/browse_thread/thread/14c7e6d615a2b803? pli = 1 cần được sửa trong Chrome 10 – Korny
Tôi đang sử dụng Chrome 14 (bản phát hành mới nhất) và window.onerror hoạt động! – Nick