error-handling - 禁用 Flutter 的 "red screen of death"

标签 error-handling dart flutter

有没有办法禁用 Flutter 的“死机红屏”? 在调试期间我不介意它,但它似乎也出现在生产版本中 - 我找不到任何关于如何禁用它的信息,或者我自己捕获错误。

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

作为引用,我说的是这个屏幕:

rsod

最佳答案

您可以覆盖 ErrorWidget.builder 方法。
我解决了这个问题。

・示例代码。

void main() {
    ErrorWidget.builder = (FlutterErrorDetails details) => Container();
    ...
}

・默认代码

static ErrorWidgetBuilder builder = _defaultErrorWidgetBuilder;

希望对你有所帮助。


2019 年 12 月 21 日更新

或者更改 ErrorWidget backgroundColor 和 textStyle。

・示例代码

import 'dart:ui' as ui;
void main() {
    RenderErrorBox.backgroundColor = Colors.transparent;
    RenderErrorBox.textStyle = ui.TextStyle(color: Colors.transparent);
}

关于error-handling - 禁用 Flutter 的 "red screen of death",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53903928/

相关文章:

flutter - 为 Sliver child 设置自定义高度

特定产品的 flutter 增量计数器?

javascript - 得到以下错误 : RGB. js :16 Uncaught TypeError: Cannot read property 'add' of undefined at HTMLButtonElement. <anonymous> (RGB.js:16)

linux - 函数内部的错误处理,以便我们可以退出脚本

actionscript-3 - Flex/AIR-在发布应用程序中显示ActionScript错误

ios - 我们在此 Google 项目中找不到包 ID '...'

swift - swift 中的错误处理 - 没有参数或错误的参数

firebase - Flutter Firebase 实时数据库一次写入/更新到多个节点

json - 类型 'List<dynamic>' 不是类型 'List<int>' 的子类型,其中

firebase - 在 Flutter 中渲染小部件之前,如何等待异步函数完成执行