Przeglądaj źródła

Avoid capturing stack trace twice

Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
John Lees-Miller 6 lat temu
rodzic
commit
fc197630be
1 zmienionych plików z 8 dodań i 4 usunięć
  1. 8 4
      libraries/o-error/index.js

+ 8 - 4
libraries/o-error/index.js

@@ -54,10 +54,14 @@ class OError extends Error {
 
     if (!oError._oErrorTags) oError._oErrorTags = []
 
-    const tag = new TaggedError(message, info)
-
-    // Hide this function in the stack trace.
-    if (Error.captureStackTrace) Error.captureStackTrace(tag, OError.tag)
+    let tag
+    if (Error.captureStackTrace) {
+      // Hide this function in the stack trace.
+      tag = { name: 'TaggedError', message, info }
+      Error.captureStackTrace(tag, OError.tag)
+    } else {
+      tag = new TaggedError(message, info)
+    }
 
     oError._oErrorTags.push(tag)