HandleUncaughtErrorHandler typedef
Тип пользовательской функции реализации Zone.handleUncaughtError.
Получает Zone, в которой был зарегистрирован обработчик, как self, делегат, перенаправляющий вызовы обработчикам родительской зоны self, как parent, и текущую зону, в которой ошибка не была перехвачена, как 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);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-async/HandleUncaughtErrorHandler.html