2013-07-08 28 views
15

Tôi đang cố gắng gỡ lỗi việc xử lý window.onerror của chúng tôi. Tôi đã tạo ra một chức năng mà sẽ ném một lỗi (gọi một hàm khác không tồn tại). Tôi đã thử gọi chức năng đầu tiên này từ bảng điều khiển phát triển web của Chrome - một lỗi được báo cáo trong bảng điều khiển, nhưng hàm xử lý window.error của chúng tôi dường như không được gọi. (Tôi đã xác minh rằng window.onerror tham chiếu đến mã xử lý lỗi của chúng tôi trong bảng điều khiển).Chrome: Lỗi có trong mã được gọi từ cửa sổ kích hoạt bảng điều khiển dành cho nhà phát triển.onerror?

Lỗi trong các hàm được gọi trong bảng điều khiển dành cho nhà phát triển không kích hoạt window.onerror?

+0

bản sao: http : //stackoverflow.com/questions/16192464/window-onerror-not-working-in-chrome, http://stackoverflow.com/questions/2384666/global-javascript-exception-handler-in-chrome – c69

+2

@ c69 không chắc chắn nếu đó là các bản sao vì _1._ 'window.onerror' hiện đang ở trong _Chrome_. _2._ 'window.onerror' đang được kích hoạt ở nơi khác trong mã. _3._ những câu hỏi đó không nói về 'giao diện điều khiển'. –

Trả lời

25

Họ không (trong Chrome mà tôi thử nghiệm), cách dễ dàng để kiểm tra là

window.onerror = function() {console.log('error!');}; 
throw new Error(); 
// Error 

Bạn có thể làm cho họ làm điều đó nếu bạn trì hoãn chúng, mặc dù

window.setTimeout(function() {throw new Error()}, 0); 
// error! 
// Uncaught Error 
+1

Ồ thật thú vị. Cảm ơn bạn đã làm rõ và giải pháp! – UpTheCreek

+1

@RobW Thú vị và có thể áp dụng ở nơi khác +1, nhưng sau đó câu hỏi trở thành "nguồn gốc của' giao diện điều khiển' là gì? " mà không thể là một câu trả lời đơn giản nếu những gì bạn đang nói là đúng nếu không _XHR_ sẽ không hoạt động từ bảng điều khiển. Tôi nghĩ rằng có nhiều khả năng là 'console' được bọc trong' try..catch' của chính nó. –

+1

@RobW - Tôi nghĩ rằng các tập lệnh bên ngoài vẫn gọi window.onerror, nhưng đối tượng lỗi đã bị tước bỏ tất cả thông tin hữu ích? Ví dụ. Vấn đề được mô tả trong câu hỏi này: http://stackoverflow.com/questions/5913978/cryptic-script-error-reported-in-javascript-in-chrome-and-firefox – UpTheCreek

Các vấn đề liên quan