If you use a library like jQuery for assigning all your event handlers, you can use a combination of window.onerror
and wrapping the jQuery event handler code and on ready function with an error handling function (see: JavaScript Error Tracking: Why window.onerror Is Not Enough).
window.onerror
: catches all errors in IE (and most errors in Firefox), but does nothing in Safari and Opera.- jQuery event handlers: catches jQuery event errors in all browsers.
- jQuery ready function: catches initialisation errors in all browsers.