Skip to content

Vue Router

useRouterErrorBoundary() (vue-error-boundary-kit/router) — эквивалент useNuxtErrorBoundary(), но только для vue-router. router.onError() — собственный catch-all vue-router: он срабатывает для ошибок, выброшенных в navigation guards, ошибок, переданных в next(), и ошибок, возникших при разрешении асинхронного компонента маршрута (component: () => import(...)), — ничто из этого не происходит внутри render/setup жизненного цикла компонента, поэтому onErrorCaptured/<ErrorBoundary> структурно никогда этого не видят.

ts
import { useRouterErrorBoundary } from 'vue-error-boundary-kit/router'
vue
<!-- App.vue -->
<script setup lang="ts">
const { error } = useRouterErrorBoundary({ reporter: sentryReporter })
</script>

Те же опции, что у useErrorBoundary() (onError, beforeReset, reporter, reportContext, internalErrorPrefix); автоматически отписывается от router.onError() при уничтожении effect scope. vue-router — опциональная peer-зависимость, никогда не бандлится, если вы не импортируете эту точку входа. Проверено на реальном router.onError() — подтверждено, что до него действительно доходят и выбрасывающий navigation guard, и отклонённый асинхронный компонент маршрута, против vue-router@5.2.0; заявленный диапазон peerDependencies (^4.0.0 || ^5.0.0) выведен из стабильной, давно устоявшейся сигнатуры onError, а не проверен независимо на 4.x.