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