docs: function report(ex) {
          if (lastExceptionStack) {
              if (lastException === ex) {
                  return; // already caught by an inner catch block, ignore
              } else {
                processLastException();
              }
          }
  
          var stack = TraceKit.computeStackTrace(ex);
          lastExceptionStack = stack;
          lastException = ex;
  
          // If the stack trace is incomplete, wait for 2 seconds for
          // slow slow IE to see if onerror occurs or not before reporting
          // this exception; otherwise, we will end up with an incomplete
          // stack trace
          setTimeout(function () {
              if (lastException === ex) {
                  processLastException();
              }
          }, (stack.incomplete ? 2000 : 0));
  
          throw ex; // re-throw to propagate to the top level (and cause window.onerror)
      }