我已经看过它已经发生了几次但是我似乎无法找到任何提及。在这种情况下,我正在进行网络操作,在不解析主机时,工作线程死亡,logcat显示以下内容:
Warning System.err 8/14/2011 8:41:58 PM 4355 java.net.UnknownHostException: Unable to resolve host "q": No address associated with hostname
Warning System.err 8/14/2011 8:41:58 PM 4355 at java.net.InetAddress.lookupHostByName(InetAddress.java:496)
Warning System.err 8/14/2011 8:41:58 PM 4355 at java.net.InetAddress.getAllByNameImpl(InetAddress.java:277)
Warning System.err 8/14/2011 8:41:58 PM 4355 at java.net.InetAddress.getAllByName(InetAddress.java:249)
Warning System.err 8/14/2011 8:41:58 PM 4355 at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:136)
Warning System.err 8/14/2011 8:41:58 PM 4355 at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
Warning System.err 8/14/2011 8:41:58 PM 4355 at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
Warning System.err 8/14/2011 8:41:58 PM 4355 at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
Warning System.err 8/14/2011 8:41:58 PM 4355 at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
Warning System.err 8/14/2011 8:41:58 PM 4355 at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:509)
...
Warning dalvikvm 8/14/2011 8:41:58 PM 4355 threadid=10: thread exiting with uncaught exception (group=0x4013a760)
如您所见,异常被写入System.err流(这是Android实际上并未使用或支持的Java的stderr)。它没有被任何东西抓住:
Thread.setDefaultUncaughtExceptionHandler(new CustomExceptionHandler())
也不起作用,这似乎非常错误。所以我的问题是:
Thread.setDefault
)?编辑: Android 3.1,Samsung Tab 10.1,但我很确定这不是设备或操作系统相关的问题。
答案 0 :(得分:2)
答案 1 :(得分:0)
为了给你未来的人们这个: 我下面的一些库代码实际上吞噬了异常并写入了system.err。我只是得到了库的源代码,所以我想问这个是我的错,但我认为Konstantin的答案仍然很重要,因为线程池答案。