Метод handleUncaughtError
- Object error,
- StackTrace stackTrace
Обрабатывает неперехваченные асинхронные ошибки.
Существуют два вида асинхронных ошибок, обрабатываемых этой функцией:
- Неперехваченные ошибки, которые были выброшены в асинхронных обратных вызовах, например, ошибка в функции, переданной в Timer.run.
- Асинхронные ошибки, которые передаются через цепочки Future и Stream, но для которых никто не зарегистрировал обработчик ошибок. Большинство асинхронных классов, таких как Future или Stream, передают ошибки своим слушателям. Ошибки распространяются таким образом, пока либо слушатель не обработает ошибку (например, с помощью Future.catchError), либо слушатель больше недоступен. В последнем случае, future и stream вызывают handleUncaughtError зоны.
По умолчанию, когда обрабатывается корневой зоной, неперехваченные асинхронные ошибки обрабатываются как неперехваченные синхронные исключения.
Реализация
void handleUncaughtError(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.18.5/dart-async/Zone/handleUncaughtError.html