mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-19 22:58:07 +02:00
Do not stringify errors when logging them
Converting errors to string drops their stack trace, making it more difficult to debug their actual reason. We can instead pass the error objects as-is to console.warn/error, so that Firefox/Chrome devtools will show both the stack trace of the console.warn/error call, and the original stack trace of the error. This commit also enables the `unicorn/no-console-spaces` ESLint rule, which avoids accidental extra spaces when passing multiple parameters to `console.*` methods.
This commit is contained in:
parent
d448953166
commit
202b26487f
12 changed files with 21 additions and 20 deletions
10
web/app.js
10
web/app.js
|
@ -202,7 +202,7 @@ const PDFViewerApplication = {
|
|||
try {
|
||||
await this.preferences.initializedPromise;
|
||||
} catch (ex) {
|
||||
console.error(`initialize: "${ex.message}".`);
|
||||
console.error("initialize:", ex);
|
||||
}
|
||||
if (AppOptions.get("pdfBugEnabled")) {
|
||||
await this._parseHashParams();
|
||||
|
@ -306,7 +306,7 @@ const PDFViewerApplication = {
|
|||
await __non_webpack_import__(PDFWorker.workerSrc);
|
||||
}
|
||||
} catch (ex) {
|
||||
console.error(`_parseHashParams: "${ex.message}".`);
|
||||
console.error("_parseHashParams:", ex);
|
||||
}
|
||||
}
|
||||
if (params.has("textlayer")) {
|
||||
|
@ -322,7 +322,7 @@ const PDFViewerApplication = {
|
|||
await loadPDFBug();
|
||||
this._PDFBug.loadCSS();
|
||||
} catch (ex) {
|
||||
console.error(`_parseHashParams: "${ex.message}".`);
|
||||
console.error("_parseHashParams:", ex);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -335,7 +335,7 @@ const PDFViewerApplication = {
|
|||
await loadPDFBug();
|
||||
this._PDFBug.init(mainContainer, enabled);
|
||||
} catch (ex) {
|
||||
console.error(`_parseHashParams: "${ex.message}".`);
|
||||
console.error("_parseHashParams:", ex);
|
||||
}
|
||||
}
|
||||
// It is not possible to change locale for the (various) extension builds.
|
||||
|
@ -1121,7 +1121,7 @@ const PDFViewerApplication = {
|
|||
this.downloadManager.download(data, this._downloadUrl, this._docFilename);
|
||||
} catch (reason) {
|
||||
// When the PDF document isn't ready, fallback to a "regular" download.
|
||||
console.error(`Error when saving the document: ${reason.message}`);
|
||||
console.error(`Error when saving the document:`, reason);
|
||||
await this.download();
|
||||
} finally {
|
||||
await this.pdfScriptingManager.dispatchDidSave();
|
||||
|
|
|
@ -93,7 +93,7 @@ class DownloadManager {
|
|||
window.open(viewerUrl);
|
||||
return true;
|
||||
} catch (ex) {
|
||||
console.error(`openOrDownloadData: ${ex}`);
|
||||
console.error("openOrDownloadData:", ex);
|
||||
// Release the `blobUrl`, since opening it failed, and fallback to
|
||||
// downloading the PDF file.
|
||||
URL.revokeObjectURL(blobUrl);
|
||||
|
|
|
@ -121,7 +121,7 @@ class DownloadManager {
|
|||
window.open(viewerUrl);
|
||||
return true;
|
||||
} catch (ex) {
|
||||
console.error(`openOrDownloadData: ${ex}`);
|
||||
console.error("openOrDownloadData:", ex);
|
||||
// Release the `blobUrl`, since opening it failed, and fallback to
|
||||
// downloading the PDF file.
|
||||
URL.revokeObjectURL(blobUrl);
|
||||
|
|
|
@ -85,7 +85,7 @@ class L10n {
|
|||
try {
|
||||
await this.#l10n.translateElements([element]);
|
||||
} catch (ex) {
|
||||
console.error(`translateOnce: "${ex}".`);
|
||||
console.error("translateOnce:", ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -401,7 +401,7 @@ class PDFPageView {
|
|||
"display"
|
||||
);
|
||||
} catch (ex) {
|
||||
console.error(`#renderAnnotationLayer: "${ex}".`);
|
||||
console.error("#renderAnnotationLayer:", ex);
|
||||
error = ex;
|
||||
} finally {
|
||||
this.#dispatchLayerRendered("annotationlayerrendered", error);
|
||||
|
@ -413,7 +413,7 @@ class PDFPageView {
|
|||
try {
|
||||
await this.annotationEditorLayer.render(this.viewport, "display");
|
||||
} catch (ex) {
|
||||
console.error(`#renderAnnotationEditorLayer: "${ex}".`);
|
||||
console.error("#renderAnnotationEditorLayer:", ex);
|
||||
error = ex;
|
||||
} finally {
|
||||
this.#dispatchLayerRendered("annotationeditorlayerrendered", error);
|
||||
|
@ -424,7 +424,7 @@ class PDFPageView {
|
|||
try {
|
||||
await this.drawLayer.render("display");
|
||||
} catch (ex) {
|
||||
console.error(`#renderDrawLayer: "${ex}".`);
|
||||
console.error("#renderDrawLayer:", ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -440,7 +440,7 @@ class PDFPageView {
|
|||
this.#buildXfaTextContentItems(result.textDivs);
|
||||
}
|
||||
} catch (ex) {
|
||||
console.error(`#renderXfaLayer: "${ex}".`);
|
||||
console.error("#renderXfaLayer:", ex);
|
||||
error = ex;
|
||||
} finally {
|
||||
if (this.xfaLayer?.div) {
|
||||
|
@ -465,7 +465,7 @@ class PDFPageView {
|
|||
if (ex instanceof AbortException) {
|
||||
return;
|
||||
}
|
||||
console.error(`#renderTextLayer: "${ex}".`);
|
||||
console.error("#renderTextLayer:", ex);
|
||||
error = ex;
|
||||
}
|
||||
this.#dispatchLayerRendered("textlayerrendered", error);
|
||||
|
|
|
@ -201,7 +201,7 @@ class PDFRenderingQueue {
|
|||
if (reason instanceof RenderingCancelledException) {
|
||||
return;
|
||||
}
|
||||
console.error(`renderView: "${reason}"`);
|
||||
console.error("renderView:", reason);
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -105,7 +105,7 @@ class PDFScriptingManager {
|
|||
try {
|
||||
this.#scripting = this.#initScripting();
|
||||
} catch (error) {
|
||||
console.error(`setDocument: "${error.message}".`);
|
||||
console.error("setDocument:", error);
|
||||
|
||||
await this.#destroyScripting();
|
||||
return;
|
||||
|
@ -192,7 +192,7 @@ class PDFScriptingManager {
|
|||
|
||||
eventBus.dispatch("sandboxcreated", { source: this });
|
||||
} catch (error) {
|
||||
console.error(`setDocument: "${error.message}".`);
|
||||
console.error("setDocument:", error);
|
||||
|
||||
await this.#destroyScripting();
|
||||
return;
|
||||
|
|
|
@ -248,7 +248,7 @@ function webViewerLoad() {
|
|||
} catch (ex) {
|
||||
// The viewer could be in e.g. a cross-origin <iframe> element,
|
||||
// fallback to dispatching the event at the current `document`.
|
||||
console.error(`webviewerloaded: ${ex}`);
|
||||
console.error("webviewerloaded:", ex);
|
||||
document.dispatchEvent(event);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue