diff --git a/notebook/static/base/js/events.js b/notebook/static/base/js/events.js index e21b216f3..e431715b5 100644 --- a/notebook/static/base/js/events.js +++ b/notebook/static/base/js/events.js @@ -22,5 +22,16 @@ define(['base/js/namespace'], function(Jupyter) { Jupyter.Events = window._Events; Jupyter.events = window._events; - return $([window._events]); + var events = $([window._events]); + + // catch and log errors in triggered events + events._original_trigger = events.trigger; + events.trigger = function (name, data) { + try { + this._original_trigger.apply(this, arguments); + } catch (e) { + console.error("Exception in event handler for " + name, e, arguments); + } + } + return events; });