Ручной перехват ошибок
useErrorBoundary() — для программного использования вне шаблонного <ErrorBoundary>: например, для собственного состояния ошибки на уровне layout в Nuxt или для регистрации ошибок из кода, который errorCaptured никогда не увидит.
const { error, hasError, reset, captureError } = useErrorBoundary({
onError: (e) => report(e),
reporter: myReporter,
})
try {
JSON.parse(untrustedInput)
} catch (err) {
captureError(err, { source: 'manual', componentName: 'ImportPanel' })
}Опции
onError
(error: CapturedError) => void · по умолчанию: —
Вызывается для каждой перехваченной ошибки.
beforeReset
() => void · по умолчанию: —
Вызывается непосредственно перед тем, как reset() очистит состояние.
reporter
ErrorReporter | ErrorReporter[] · по умолчанию: —
Репортер(ы), вызываемые один раз на каждую перехваченную ошибку — см. Адаптеры отчётности.
reportContext
Record<string, unknown> · по умолчанию: —
Дополнительный контекст, добавляемый к каждому вызову report().
internalErrorPrefix
string · по умолчанию: '[vue-error-boundary-kit]'
Префикс для внутреннего страховочного лога, выводимого, когда ваш собственный onError/репортер сам выбрасывает ошибку (см. примечание к <ErrorBoundary> — то же значение по умолчанию, та же логика, хотя здесь нет риска конфликта имён, поскольку это обычный composable, а не компонент с собственным emit reset). Передайте '', чтобы убрать его.
Возвращаемое значение
captureError
(err: unknown, info?: CaptureErrorInfo) => CapturedError
Регистрирует ошибку вручную; возвращает получившийся CapturedError.
reset
() => void
Сбрасывает error обратно в null.
error
ShallowRef<CapturedError | null>
hasError
ComputedRef<boolean>