如何捕获由格式错误的 layout-xml 文件引起的异常?

Posted

技术标签:

【中文标题】如何捕获由格式错误的 layout-xml 文件引起的异常?【英文标题】:How to catch exceptions caused by a malformed layout-xml file? 【发布时间】:2011-04-18 20:09:28 【问题描述】:
    public class MyActivity extends Activity 

        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) 
            super.onCreate(savedInstanceState);

            //R.layout.main has an illegal element (e.g. no layout_height attribute) 
            //But no exception is thrown at this line.
            setContentView(R.layout.main); 

         //Exception will be thrown after this line. Where to catch it?
    

【问题讨论】:

【参考方案1】:

你是认真的吗?那种事情不能只是“抓住”......它们必须被修复。只需修复您的 XML 文件就可以了……捕获诸如 Exception 之类的没有意义;抓到之后怎么办?

【讨论】:

+1 给克里斯蒂安。 @OneWorld:如果您的 Layout XML 格式不正确,那么您的应用程序就会损坏。 @Christian:当然,这些事情必须解决。但是,也必须有可能捕捉到这些东西。 @Octavian:如果活动的 XML 格式不正确,则此活动已损坏,而不是应用程序。所以,我可以完成它,显示适当的 Toast 并记录错误。 @OneWorld:为什么你构建的活动布局应该是错误的?这是没有意义的。为什么要发布一个 Activity 中断的应用程序? @OneWorld 相信我,在使用 android 进行开发时,您会发现并非所有异常都可以被捕获。只需修复您的布局,案例已关闭。

以上是关于如何捕获由格式错误的 layout-xml 文件引起的异常?的主要内容,如果未能解决你的问题,请参考以下文章

Cadence连线的时候怎么设置自动捕捉引脚连接

pandas.io.common.CParserError:标记数据时出错。 C 错误:捕获缓冲区溢出 - 可能的输入文件格式错误

在 pandas 中读取 csv 文件时出错 [CParserError: 标记数据时出错。 C 错误:捕获缓冲区溢出 - 可能是格式错误的输入文件。]

如何使用 df.to_csv 为多索引数据帧 python3 格式化 csv 文件

在 Swift 中捕获 NSException

Beego框架错误Panic捕获并通过Recover返回正常数据