<pre></pre>
class Hello extends HTMLElement {
  connectedCallback() {
    throw new Error('haha!')
  }
}

customElements.define('hello-world', Hello)

const element = document.createElement('hello-world')
let error
window.addEventListener('error', errorEvent => {
  errorEvent.preventDefault() // we handled it
  console.log('Caught the error!', errorEvent.error)
  error = errorEvent.error
})
document.body.appendChild(element)

document.querySelector('pre').innerHTML = 'Error was caught? ' + !!error
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.