Преглед изворни кода

Avoid capturing stack trace twice

Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
John Lees-Miller пре 6 година
родитељ
комит
fc197630be
1 измењених фајлова са 8 додато и 4 уклоњено
  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)