[DEBUG] LogExceptionCause

Log exception cause, see https://github.com/tc39/proposal-error-cause

Versão de: 25/09/2021. Veja: a última versão.

Você precisará instalar uma extensão como Tampermonkey, Greasemonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Userscripts para instalar este script.

Você precisará instalar uma extensão como o Tampermonkey para instalar este script.

Você precisará instalar um gerenciador de scripts de usuário para instalar este script.

(Eu já tenho um gerenciador de scripts de usuário, me deixe instalá-lo!)

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

(Eu já possuo um gerenciador de estilos de usuário, me deixar fazer a instalação!)

// ==UserScript==
// @name              [DEBUG] LogExceptionCause
// @name:zh-CN        [DEBUG] 异常诱因日志
// @version           1.0.0.20210925
// @namespace         laster2800
// @author            Laster2800
// @description       Log exception cause, see https://github.com/tc39/proposal-error-cause
// @description:zh-CN 记录异常诱因,详见 https://github.com/tc39/proposal-error-cause
// @homepageURL       https://greasyfork.org/zh-CN/scripts/432924
// @supportURL        https://greasyfork.org/zh-CN/scripts/432924/feedback
// @license           LGPL-3.0
// @include           *
// @grant             none
// @run-at            document-start
// ==/UserScript==

(function() {
  'use strict'

  window.addEventListener('error', log)
  window.addEventListener('unhandledrejection', log)

  function log(event) {
    const cause = (event.error ?? event.reason)?.cause
    if (cause !== undefined) {
      console.error('↓ Error is caused by', cause)
    }
  }
})()