未捕获异常处理器 类型定义
自定义 Zone.handleUncaughtError 实现函数的类型。
接收处理器注册的 Zone 作为 self,将消息转发到 self 父区的处理器作为 parent,以及在 zone 中未捕获错误的当前区作为 zone,其中 self 将作为父区。
error 和 stackTrace 是在 zone 中未捕获的错误和堆栈跟踪。
函数只能通过 self、parent 或 zone 访问与区相关的功能。它不应依赖于当前区 (Zone.current)。
如果未捕获错误处理器抛出异常,则错误将传递给 parent.handleUncaughtError。如果抛出的对象是 error,则抛出被视为重新抛出,并保留原始 stackTrace。这允许异步错误离开错误区。
实现
typedef HandleUncaughtErrorHandler = void Function(Zone self,
ZoneDelegate parent, Zone zone, Object error, StackTrace stackTrace);