异常始终为NULL

时间:2010-10-16 15:58:29

标签: android exception-handling

有人可以向我解释为什么Android“Catch”处理程序不会初始化Exception对象吗?当发生错误并且我的代码尝试初始化Exception对象时,它始终为NULL。

上面对我没有意义,因为异常应该始终初始化Exception对象周期。如果发生错误,它永远不应为null。

我是Eclipse Android IDE / SDK的新手,我确信我没有100%全部设置。但是,在我看来,这种类型的功能应该始终有效,而不是在设置之后。

1 个答案:

答案 0 :(得分:6)

一个可能的原因是您正在尝试在主线程上建立网络连接,这在2.3.3 / Honeycomb之前工作正常(例如SDK级别< 10)但是会被抛出

  

android.os.NetworkOnMainThreadException

自SDK级别10。

请检查:http://developer.android.com/reference/android/os/NetworkOnMainThreadException.html

问题是Eclipse并不真正了解此异常(因为它是基于不同的SDK级别有条件地抛出的,因此Eclipse可能无法获得此异常的正确实例,这解释了为什么您的异常对象始终为NULL )

解决方案:创建单独的线程或使用AsyncTask执行网络连接请求。