7

'rome-1.0.jar'という参照ライブラリを使用しています。

try {
    SyndFeedInput input = new SyndFeedInput();
    SyndFeed feed = input.build(new XmlReader(file));
}
catch(Exception e) {
    Log.e("", "ROME parse error: " + e.toString());
}

input.build(new XmlReader(file)); 'rome-1.0.jar'ライブラリ呼び出しです。

すべての例外をキャッチしていますが、アプリがクラッシュします。

05-31 13:43:06.297: W/dalvikvm(11150): threadid=22: thread exiting with uncaught exception (group=0x40a4d1f8)
05-31 13:43:06.307: E/AndroidRuntime(11150): FATAL EXCEPTION: Thread-4199
05-31 13:43:06.307: E/AndroidRuntime(11150): java.lang.NoClassDefFoundError: java.beans.PropertyDescriptor[]
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.impl.BeanIntrospector.getPropertyDescriptors(BeanIntrospector.java:39)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.impl.CloneableBean.beanClone(CloneableBean.java:129)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.impl.ObjectBean.clone(ObjectBean.java:87)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.module.DCModuleImpl.clone(DCModuleImpl.java:771)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.module.impl.ModuleUtils.cloneModules(ModuleUtils.java:35)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.synd.impl.ConverterForRSS090.createSyndEntry(ConverterForRSS090.java:90)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland.createSyndEntry(ConverterForRSS091Userland.java:85)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.synd.impl.ConverterForRSS092.createSyndEntry(ConverterForRSS092.java:46)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.synd.impl.ConverterForRSS093.createSyndEntry(ConverterForRSS093.java:37)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.synd.impl.ConverterForRSS094.createSyndEntry(ConverterForRSS094.java:58)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.synd.impl.ConverterForRSS090.createSyndEntries(ConverterForRSS090.java:79)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.synd.impl.ConverterForRSS090.copyInto(ConverterForRSS090.java:64)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland.copyInto(ConverterForRSS091Userland.java:49)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.synd.impl.ConverterForRSS094.copyInto(ConverterForRSS094.java:47)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.feed.synd.SyndFeedImpl.<init>(SyndFeedImpl.java:144)
05-31 13:43:06.307: E/AndroidRuntime(11150):    at com.sun.syndication.io.SyndFeedInput.build(SyndFeedInput.java:123)
...(my code)

これを処理する方法はありますか?

4

2 に答える 2

6

クマールありがとう、あなたは私にアイデアをくれました。

これがエラーだとは知りませんでした。以前にOutOfMemoryErrorを処理したことがあるので、エラーを処理できることがわかっています。

try {
    SyndFeedInput input = new SyndFeedInput();
    SyndFeed feed = input.build(new XmlReader(file));
}
catch(Exception e) {
    Log.e("", "ROME parse error: " + e.toString());
}
catch(Error e2) {
    Log.e("", "ROME parse error2: " + e2.toString());
}

上記のコードはエラーを処理します。そうするのは良い考えではないことは知っていますが、それは私の目的を果たします。

ありがとうございました。

于 2012-05-31T18:17:48.580 に答える
4

これは例外ではなくエラーであり、その性質は例外よりも深刻です。エラーを処理することは想定されていません。

http://www.coderanch.com/t/269746/java-programmer-SCJP/certification/Error-vs-Exception

エラーが発生した場合、ほとんどの場合、システムは不安定になり、実際には何もできなくなります。

于 2012-05-31T18:04:05.970 に答える