是否可以使全局错误处理显示用户友好的错误页面,而不是显示红色的异常
我已经做了错误处理(here),它会向后端报告异常,但我真正想要实现的是隐藏红色异常,并显示一些更友好的东西。
我到处都找过了,什么也没找到。很抱歉,我没有任何代码可以展示,因为我不知道如何开始。
发布于 2019-08-18 12:52:38
基于Spectarion的回答:
代码:
void setErrorBuilder() {
ErrorWidget.builder = (FlutterErrorDetails errorDetails) {
return Scaffold(
body: Center(
child: Text("Unexpected error. See console for details.")));
};
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
setErrorBuilder();
return MaterialApp(
builder: (BuildContext context, Widget widget) {
setErrorBuilder();
return widget;
},
title: 'Flutter Demo',
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
发布于 2021-12-28 03:12:59
要定义在构建器构建小部件失败时显示的自定义错误小部件,请使用MaterialApp.builder
。
class MyApp extends StatelessWidget {
...
@override
Widget build(BuildContext context) {
return MaterialApp(
...
builder: (BuildContext context, Widget widget) {
Widget error = Text('...rendering error...');
if (widget is Scaffold || widget is Navigator)
error = Scaffold(body: Center(child: error));
ErrorWidget.builder = (FlutterErrorDetails errorDetails) => error;
return widget;
},
);
}
}
https://stackoverflow.com/questions/53334608
复制相似问题