我正在关注《专业Android应用程序开发》这本书,并尝试实现一些示例。在151页的第5章中,以下代码抛出SAXParseException。有人知道为什么吗?
Document dom = db.parse(in); 我尝试了其他XML文件,引发了相同的异常。
堆栈跟踪类似于:
01-07 00:23:58.875:WARN / System.err(221):org.xml.sax.SAXParseException:预期:/元读取:头(位置:END_TAG @ 1:87在java.io.InputStreamReader@43d0c720) 01-07 00:23:58.895:WARN / System.err(221):位于org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:151)01-07 00:23:58.906:WARN / System.err(221):在javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:157)01-07 00:23:58.915:WARN / System.err(221):在com.paad.earthquake.Earthquake .refreshEarthquakes(Earthquake.java:82)01-07 00:23:58.925:WARN / System.err(221):at com.paad.earthquake.Earthquake.onCreate(Earthquake.java:60)01-07 00:23 :58.936:WARN / System.err(221):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)01-07 00:23:58.936:WARN / System.err(221):在android.app。 ActivityThread。performLaunchActivity(ActivityThread.java:2444)01-07 00:23:58.946:WARN / System.err(221):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2497)01-07 00:23:58.955: WARN / System.err(221):位于android.app.ActivityThread.access $ 2200(ActivityThread.java:119)01-07 00:23:58.966:WARN / System.err(221):位于android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1848)01-07 00:23:58.976:WARN / System.err(221):位于android.os.Handler.dispatchMessage(Handler.java:99)01-07 00:23: 58.987:WARN / System.err(221):在android.os.Looper.loop(Looper.java:123)01-07 00:23:58.996:WARN / System.err(221):在android.app.ActivityThread .main(ActivityThread.java:4338)01-07 00:23:58.996:WARN / System.err(221):at java.lang.reflect.Method.invokeNative(Native Method)01-07 00:23:59.026: WARN / System.err(221):在java.lang.reflect.Method.invoke(Method.java:521)01-07 00:23:59.040:WARN / System.err(221):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run( ZygoteInit.java:860)01-07 00:23:59.046:WARN / System.err(221):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)01-07 00:23: 59.056:WARN / System.err(221):在dalvik.system.NativeStart.main(本机方法)
如果解析XML时出现任何问题,导致其余代码无法运行,则parse方法将引发SAXParseException,因为如果XML无效,则您可能不希望代码继续。
解析方法声明了它,throws SAXParseException因此您在调用该方法时必须显式捕获该异常,例如
try {
Document dom = db.parse(in);
} catch (SAXParseException e) {
e.printStackTrace();
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。