From c30d95f2e36cb3519e1e23c0934b388ebba6bc2c Mon Sep 17 00:00:00 2001 From: Nayeem Rahman Date: Tue, 19 Apr 2022 09:59:51 +0100 Subject: feat(ext/web): add globalThis.reportError() (#13799) --- ext/web/lib.deno_web.d.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'ext/web/lib.deno_web.d.ts') diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index 77c502fac..8c845ced1 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -890,3 +890,22 @@ declare class DecompressionStream { readonly readable: ReadableStream; readonly writable: WritableStream; } + +/** Dispatch an uncaught exception. Similar to a synchronous version of: + * ```ts + * setTimeout(() => { throw error; }, 0); + * ``` + * The error can not be caught with a `try/catch` block. An error event will + * be dispatched to the global scope. You can prevent the error from being + * reported to the console with `Event.prototype.preventDefault()`: + * ```ts + * addEventListener("error", (event) => { + * event.preventDefault(); + * }); + * reportError(new Error("foo")); // Will not be reported. + * ``` + * In Deno, this error will terminate the process if not intercepted like above. + */ +declare function reportError( + error: any, +): void; -- cgit v1.2.3