错误类型
简介
@esmx/router 为不同的路由失败场景提供了一组错误类层次结构。所有路由错误都继承自基类 RouteError,便于捕获和处理特定的错误类型。
类型定义
RouteError
- 类型定义:
所有路由相关错误的基类。
属性:
name:'RouteError'code:标识错误类型的错误码字符串to:错误发生时的目标 Route 对象from:来源 Route 对象(初始导航时可能为null)message:人类可读的错误描述
RouteTaskCancelledError
- 类型定义:
当路由任务被取消时抛出,通常是因为在当前导航完成前触发了新的导航。
属性:
name:'RouteTaskCancelledError'code:'ROUTE_TASK_CANCELLED'taskName:被取消的任务名称
RouteTaskExecutionError
- 类型定义:
当路由任务(如守卫或处理钩子)在执行过程中抛出错误时抛出。
属性:
name:'RouteTaskExecutionError'code:'ROUTE_TASK_EXECUTION_ERROR'taskName:失败的任务名称originalError:导致失败的原始错误
RouteNavigationAbortedError
- 类型定义:
当导航被守卫返回 false 明确中止时抛出。
属性:
name:'RouteNavigationAbortedError'code:'ROUTE_NAVIGATION_ABORTED'taskName:中止导航的守卫名称
RouteSelfRedirectionError
- 类型定义:
当重定向导致无限循环(重定向到相同路径)时抛出。
属性:
name:'RouteSelfRedirectionError'code:'ROUTE_SELF_REDIRECTION'
错误层次结构
所有错误类继承自 RouteError,RouteError 继承自标准 Error 类:
错误处理模式
捕获所有路由错误
忽略取消错误
取消错误在快速导航期间很常见(例如用户快速点击多个链接)。通常可以安全忽略: