开发者社区> 问答> 正文

Android中的SAXParseException

我正在关注《专业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(本机方法)

展开
收起
Puppet 2020-01-24 11:59:39 511 0
1 条回答
写回答
取消 提交回答
  • 如果解析XML时出现任何问题,导致其余代码无法运行,则parse方法将引发SAXParseException,因为如果XML无效,则您可能不希望代码继续。

    解析方法声明了它,throws SAXParseException因此您在调用该方法时必须显式捕获该异常,例如

    
    try {
        Document dom = db.parse(in);
    } catch (SAXParseException e) {
        e.printStackTrace();
    }
    
    2020-01-24 12:00:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Java_Android to Swift iOS 立即下载
From Java/Android to Swift iOS 立即下载
低代码开发师(初级)实战教程 立即下载