禁用Flutter的“红色死亡屏幕”

Kat*_*tai 9 error-handling dart flutter

有没有办法禁用Flutter的“死亡的红色屏幕”?我不介意在调试过程中使用它,但是它似乎也出现在生产版本中-而且我找不到有关如何禁用它或自己捕获错误的任何信息。

我尝试使用FlutterError.onError和捕获杂散错误runZoned(onError),但是两者都没有阻止红屏的出现。

作为参考,我正在谈论以下屏幕:

索德

pep*_*pen 9

您可以重写ErrorWidget.builder方法。
我解决了。

示例代码。

void main() {
    ErrorWidget.builder = (FlutterErrorDetails details) => Container();
    ...
}
Run Code Online (Sandbox Code Playgroud)

默认代码

static ErrorWidgetBuilder builder = (FlutterErrorDetails details) => 
ErrorWidget(details.exception);
Run Code Online (Sandbox Code Playgroud)

希望对您有所帮助。