gpt4 book ai didi

dart - 我应该如何使用Dart Isolate unhandledExceptionCallback?

转载 作者:行者123 更新时间:2023-12-03 04:31:49 26 4
gpt4 key购买 nike

我正在尝试在Dart Web应用程序中使用隔离,但是我似乎无法使错误回调参数起作用。
我有一个非常基本的代码正在Dartium中运行。

import "dart:isolate";

void main() {
print("Main.");
spawnFunction(test, (IsolateUnhandledException e) {
print(e);
});
}

void test() {
throw "Ooops.";
}

除了“主要”以外,我什么也看不到。打印在控制台上。我是在做错事还是现在被破坏了?

最佳答案

错误回调将在新的隔离中执行。因此,它不能是动态闭包,而必须是静态函数。

我还没有测试过,但这应该可以工作:

import "dart:isolate";

bool errorHandler(IsolateUnhandledException e) {
print(e);
return true;
}

void test() {
throw "Ooops.";
}

void main() {
// Make sure the program doesn't terminate immediately by keeping a
// ReceivePort open. It will never stop now, but at least you should
// see the error in the other isolate now.
var port = new ReceivePort();
print("Main.");
spawnFunction(test, errorHandler);
}

注意:在dart2js中,此功能尚未实现。旧版本只是忽略了该参数。较新的版本将抛出UnimplementedError。

关于dart - 我应该如何使用Dart Isolate unhandledExceptionCallback?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15586992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com