【发布时间】:2014-05-30 12:39:12
【问题描述】:
正如问题所述,我想知道如何追踪此类错误的原因。
在研究这个错误的过程中,我发现了各种使用输入流的东西。当它被调用两次时,它会给出异常。但是,我的代码与那些代码不同。我在 ViewPager 中使用 AndroidSaxParser。每个片段都执行一个 AsyncTask,它解析一个 rss 并将数据加载到一个 ListView 中。
问题是随机发生的,因此很难追踪问题的原因。我还注意到,在 api 14+ 设备上根本不会出现问题。它只发生在我的 api 8 设备上,可能在其他设备
我得到的确切的 Expat 错误是:
ExpatParser$ParseException at line 1 column 0 no element found
LogCat 指向的代码只是启动解析器的代码,但没有什么是 null 或与它正确执行的时间不同。
try
{
Xml.parse(this.getInputStream(), Xml.Encoding.UTF_8, root.getContentHandler());
}
catch (Exception e)
{
Log.e("parser", "PARSER CRASHED");
Log.e("expat", "inputStream " + this.getInputStream() + " xml " + Xml.Encoding.UTF_8 + " contentHandler " + root.getContentHandler());
Log.w("the feed", "" + rssFeed);
throw new RuntimeException(e);
}
痕迹: errors
【问题讨论】: