首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >显示用户友好的错误页面,而不是颤动中的异常

显示用户友好的错误页面,而不是颤动中的异常
EN

Stack Overflow用户
提问于 2018-11-16 17:09:26
回答 2查看 11K关注 0票数 27

是否可以使全局错误处理显示用户友好的错误页面,而不是显示红色的异常

我已经做了错误处理(here),它会向后端报告异常,但我真正想要实现的是隐藏红色异常,并显示一些更友好的东西。

我到处都找过了,什么也没找到。很抱歉,我没有任何代码可以展示,因为我不知道如何开始。

EN

回答 2

Stack Overflow用户

发布于 2019-08-18 12:52:38

基于Spectarion的回答:

  1. 添加了脚手架。如果没有脚手架,消息将显示在以前呈现的内容的顶部。
  2. 将更多代码移至帮助器方法。

代码:

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'),
     );
   }
 }
票数 4
EN

Stack Overflow用户

发布于 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;
      },
    );
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53334608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档