是否可以进行全局错误处理,以显示用户友好的错误页面,而不显示红色异常?
我已经进行了错误处理(在此处),该错误处理将向后端报告异常,但是我真正想要实现的是隐藏红色异常并显示一些更怪异的东西。
我到处搜寻,却一无所获。很抱歉,我不显示任何代码,因为我不知道如何启动。
Spe*_*ion 15
文档中隐藏了一些静态错误生成器。
在构建窗口小部件时发生错误时,损坏的窗口小部件将替换为此函数返回的窗口小部件。默认情况下,返回ErrorWidget。
您可以在builder
MaterialApp小部件的方法中定义。
Widget buildError(BuildContext context, FlutterErrorDetails error) {
return Scaffold(
body: Center(
child: Text(
"Error appeared.",
style: Theme.of(context).textTheme.title,
),
)
);
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
primarySwatch: Colors.blue,
),
builder: (BuildContext context, Widget widget) {
ErrorWidget.builder = (FlutterErrorDetails errorDetails) {
return buildError(context, errorDetails);
};
return widget;
},
title: 'Flutter Demo',
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
Run Code Online (Sandbox Code Playgroud)
基于Anis Alibegi\xc4\x87 \ 的答案:
\n代码:
\nvoid setErrorBuilder() {\n ErrorWidget.builder = (FlutterErrorDetails errorDetails) {\n return Scaffold(\n body: Center(\n child: Text("Unexpected error. See console for details.")));\n };\n} \n\nclass MyApp extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n setErrorBuilder();\n\n return MaterialApp(\n builder: (BuildContext context, Widget widget) {\n setErrorBuilder(); \n return widget;\n },\n title: \'Flutter Demo\',\n home: MyHomePage(title: \'Flutter Demo Home Page\'),\n );\n }\n }\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
3285 次 |
最近记录: |