gpt4 book ai didi

java - 捕获 Throwable 或 Exception 为空

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:32:00 25 4
gpt4 key购买 nike

类似的问题在这里问了两次,从来没有任何答案。或者回答是:“这是不可能的!”抱歉,可能太多了:

try{
...
// the line that causes the error
LinearLayout cell = (LinearLayout) inflater.inflate(R.layout.channels_list_cell, column);
...
}
catch(Throwable e){
Toast.makeText(this, e.toString(), Toast.LENGTH_LONG).show(); < breakpoint here!
}

在断点处 e 为空。请问如何查找错误?很可能这不是java或Android的问题,而是Eclipse调试器的问题,它本身需要严重调试。但是除了换一个不同的 IDE,我还能做什么呢?有任何想法吗?先谢过了。

我试过 Throwable、Exception、RuntimeException。结果是一样的。

越过断点的尝试会导致 NullPointerException,因此,e 在那一刻看起来真的是 null。哪里会丢失?

编辑:我对每个人都表示感谢,并对每个回答者+1。这是一个 Eclipse 错误。重新启动 Eclipse 后,异常不再为空,它是一个正常的 RuntimeException:Binary XML file line #15: You must supply a layout_width attribute。这将是另一个要解决的问题,但那个问题已经解决了。

最佳答案

如果您捕获的异常是 NullPointerException,则 getMessage() 方法返回“null”,这可能会造成混淆。我知道这有时让我感到困惑!

在调试器中,您应该能够选择 e 并查看类型及其字段。此外,当事情变得非常困惑时,另一种调试方法是去

 e.printStackTrace();

(注意——我不是 Android 高手,所以如果这在 Android 上的工作方式不同,请有人发表评论!)

关于java - 捕获 Throwable 或 Exception 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8898404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com