是否有一种方法可以显示(生产中)自定义错误窗口小部件,而不是显示死亡的红色屏幕?我不会更改框架代码,即使我们试图在编程时没有错误,我们也无法保证它会发生。
答案 0 :(得分:5)
可以通过更改ErrorWidget.builder
ErrorWidget.builder = (errorDetails) {
return Container(color: Colors.red);
}
答案 1 :(得分:0)
使用ErrorWidget.builder
代替main()
函数,像这样
Future main() async {
WidgetsFlutterBinding.ensureInitialized();
ErrorWidget.builder = (FlutterErrorDetails details) => SomethingWrong();
runApp(YourApp());
}
如果您只想在Production应用程序上显示“某些小部件”,则可以使用kReleaseMode
-
if (kReleaseMode) {
ErrorWidget.builder = (FlutterErrorDetails details) => SomethingWrong();
}
注意:顶级kReleaseMode常数用于确定应用是否在发布模式下编译。