Skip to content

AK0052 ​

Route guard threw an error

What happened ​

A route guard (e.g., beforeEnter, beforeLeave) threw an unhandled exception during navigation. This prevented the route transition from completing.

How to fix ​

Add error handling in your guard function. Wrap async logic in try/catch and return a clear result (allow, redirect, or deny).

Example ​

ts
// Bad — guard can throw unexpectedly
const routes = [
  {
    path: "/dashboard",
    component: Dashboard,
    beforeEnter: async () => {
      const user = await fetchUser(); // might throw!
      return user.isAdmin;
    },
  },
];

// Good — handle errors in the guard
const routes = [
  {
    path: "/dashboard",
    component: Dashboard,
    beforeEnter: async () => {
      try {
        const user = await fetchUser();
        return user.isAdmin;
      } catch {
        return "/login"; // redirect on failure
      }
    },
  },
];

Released under the MIT License.