Метод addErrorListener
void addErrorListener(Запрашивает, чтобы необработанные ошибки изолированного процесса отправлялись обратно в port.
Ошибки отправляются в виде списков из двух элементов. Первый элемент — String представление ошибки, обычно создаваемое вызовом toString для ошибки. Второй элемент — String представление сопровождающего стека вызовов, или null если стек вызовов не был предоставлен. Для преобразования этого обратно в объект StackTrace используйте StackTrace.fromString.
Прослушивание с помощью одного и того же порта более одного раза ничего не делает. Порт получит каждую ошибку только один раз и будет нуждаться в удалении только один раз с помощью removeErrorListener.
Закрытие порта приема, связанного с портом, не останавливает отправку изолированным процессом необработанных ошибок, они просто будут потеряны. Вместо этого используйте removeErrorListener, чтобы остановить получение ошибок на port.
Поскольку изолированные процессы работают параллельно, возможно, что он завершится до создания обработчика ошибок. Чтобы избежать этого, запустите изолированный процесс в приостановленном состоянии, добавьте обработчик, а затем возобновите изолированный процесс.
Исходный код
external void addErrorListener(SendPort port);
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-isolate/Isolate/addErrorListener.html