whole_func_string: function traceKitWindowOnError(msg, url, lineNo, colNo, ex) {
  	    var stack = null; // If 'ex' is ErrorEvent, get real Error from inside
  
  	    var exception = utils.isErrorEvent(ex) ? ex.error : ex; // If 'msg' is ErrorEvent, get real message from inside
  
  	    var message = utils.isErrorEvent(msg) ? msg.message : msg;
  
  	    if (lastExceptionStack) {
  	      TraceKit.computeStackTrace.augmentStackTraceWithInitialElement(lastExceptionStack, url, lineNo, message);
  	      processLastException();
  	    } else if (exception && utils.isError(exception)) {
  	      // non-string `exception` arg; attempt to extract stack trace
  	      // New chrome and blink send along a real error object
  	      // Let's just report that like a normal error.
  	      // See: https://mikewest.org/2013/08/debugging-runtime-errors-with-window-onerror
  	      stack = TraceKit.computeStackTrace(exception);
  	      notifyHandlers(stack, true);
  	    } else {
  	      var location = {
  	        url: url,
  	        line: lineNo,
  	        column: colNo
  	      };
  	      var name = undefined;
  	      var groups;
  
  	      if ({}.toString.call(message) === '[object String]') {
  	        var groups = message.match(ERROR_TYPES_RE);
  
  	        if (groups) {
  	          name = groups[1];
  	          message = groups[2];
  	        }
  	      }
  
  	      location.func = UNKNOWN_FUNCTION;
  	      stack = {
  	        name: name,
  	        message: message,
  	        url: getLocationHref(),
  	        stack: [location]
  	      };
  	      notifyHandlers(stack, true);
  	    }
  
  	    if (_oldOnerrorHandler) {
  	      return _oldOnerrorHandler.apply(this, arguments);
  	    }
  
  	    return false;
  	  }
func_code_string: function traceKitWindowOnError(msg, url, lineNo, colNo, ex) {
  	    var stack = null; // If 'ex' is ErrorEvent, get real Error from inside
  
  	    var exception = utils.isErrorEvent(ex) ? ex.error : ex; // If 'msg' is ErrorEvent, get real message from inside
  
  	    var message = utils.isErrorEvent(msg) ? msg.message : msg;
  
  	    if (lastExceptionStack) {
  	      TraceKit.computeStackTrace.augmentStackTraceWithInitialElement(lastExceptionStack, url, lineNo, message);
  	      processLastException();
  	    } else if (exception && utils.isError(exception)) {
  	      // non-string `exception` arg; attempt to extract stack trace
  	      // New chrome and blink send along a real error object
  	      // Let's just report that like a normal error.
  	      // See: https://mikewest.org/2013/08/debugging-runtime-errors-with-window-onerror
  	      stack = TraceKit.computeStackTrace(exception);
  	      notifyHandlers(stack, true);
  	    } else {
  	      var location = {
  	        url: url,
  	        line: lineNo,
  	        column: colNo
  	      };
  	      var name = undefined;
  	      var groups;
  
  	      if ({}.toString.call(message) === '[object String]') {
  	        var groups = message.match(ERROR_TYPES_RE);
  
  	        if (groups) {
  	          name = groups[1];
  	          message = groups[2];
  	        }
  	      }
  
  	      location.func = UNKNOWN_FUNCTION;
  	      stack = {
  	        name: name,
  	        message: message,
  	        url: getLocationHref(),
  	        stack: [location]
  	      };
  	      notifyHandlers(stack, true);
  	    }
  
  	    if (_oldOnerrorHandler) {
  	      return _oldOnerrorHandler.apply(this, arguments);
  	    }
  
  	    return false;
  	  }
func_documentation_string: Ensures all global unhandled exceptions are recorded.
  Supported by Gecko and IE.
  @param {string} msg Error message.
  @param {string} url URL of script that generated the exception.
  @param {(number|string)} lineNo The line number at which the error
  occurred.
  @param {?(number|string)} colNo The column number at which the error
  occurred.
  @param {?Error} ex The actual Error object.