Skip to content

Глобальный перехват ошибок

useGlobalErrorCapture() — отдельная точка входа (vue-error-boundary-kit/global-capture), не подключается по умолчанию, поэтому ничего не стоит в бандлах, которые её не импортируют (включая SSR-бандлы, где это no-op при отсутствии window). Подключает window.addEventListener('error', …) и unhandledrejection, пропуская их через тот же механизм репортер/onError, что и Ручной перехват ошибок.

ts
import { useGlobalErrorCapture } from 'vue-error-boundary-kit/global-capture'

useGlobalErrorCapture({
  reporter: myReporter,
  onError: (e) => console.warn('uncaught:', e),
})

Опции

onError

(error: CapturedError) => void · по умолчанию: —

Вызывается для каждой перехваченной глобальной ошибки/отклонения.

reporter

ErrorReporter | ErrorReporter[] · по умолчанию: —

Репортер(ы), вызываемые один раз на каждую перехваченную ошибку.

reportContext

Record<string, unknown> · по умолчанию: —

Дополнительный контекст, добавляемый к каждому вызову report().

captureErrors

boolean · по умолчанию: true

Слушать неперехваченные ошибки через window.onerror.

captureRejections

boolean · по умолчанию: true

Слушать необработанные отклонения промисов.

shouldCatch

(error: CapturedError) => boolean · по умолчанию: —

Верните false, чтобы полностью проигнорировать ошибку — без onError, без отчёта. Полезно для шума браузера/расширений (например, безобидное сообщение «ResizeObserver loop»).

internalErrorPrefix

string · по умолчанию: '[vue-error-boundary-kit]'

Префикс для внутреннего страховочного лога, выводимого, когда ваш собственный onError/репортер сам выбрасывает ошибку. Передайте '', чтобы убрать его.

Возвращаемое значение

stop

() => void

Убирает глобальные слушатели. Также запускается автоматически при уничтожении effect scope, если он есть (например, в setup() компонента).