code: function traceKitWindowOnError (message, url, lineNo, columnNo, errorObj) {
              var stack = null;
  
              if (errorObj) {
                  stack = TraceKit.computeStackTrace(errorObj);
              }
              else {
                  if (lastExceptionStack) {
                      TraceKit.computeStackTrace.augmentStackTraceWithInitialElement(lastExceptionStack, url, lineNo, message);
                      stack = lastExceptionStack;
                      lastExceptionStack = null;
                      lastException = null;
                  } else {
                      var location = {
                          'url': url,
                          'line': lineNo,
                          'column': columnNo
                      };
                      location.func = TraceKit.computeStackTrace.guessFunctionName(location.url, location.line);
                      location.context = TraceKit.computeStackTrace.gatherContext(location.url, location.line);
                      stack = {
                          'mode': 'onerror',
                          'message': message,
                          'url': document.location.href,
                          'stack': [location],
                          'useragent': navigator.userAgent
                      };
                  }
              }
  
              notifyHandlers(stack, 'from window.onerror');
  
              if (_oldOnerrorHandler) {
                  return _oldOnerrorHandler.apply(this, arguments);
              }
  
              return false;
          }
docs: Ensures all global unhandled exceptions are recorded.
  Supported by Gecko and IE.
  @param {string} message Error message.
  @param {string} url URL of script that generated the exception.
  @param {(number|string)} lineNo The line number at which the error
  occurred.