未捕获异常处理器 类型定义
自定义 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);