use*_*127 33 java android jodatime crittercism
我看到针对我发布的Android应用程序的Crittercism(崩溃报告服务)出现了一些错误.跟踪如下:
0 java.io.IOException: Resource not found: "org/joda/time/tz/data/ZoneInfoMap" ClassLoader: dalvik.system.PathClassLoader@45908320
1 at org.joda.time.tz.ZoneInfoProvider.openResource(ZoneInfoProvider.java:211)
2 at org.joda.time.tz.ZoneInfoProvider.<init>(ZoneInfoProvider.java:123)
3 at org.joda.time.tz.ZoneInfoProvider.<init>(ZoneInfoProvider.java:82)
4 at org.joda.time.DateTimeZone.getDefaultProvider(DateTimeZone.java:462)
5 at org.joda.time.DateTimeZone.setProvider0(DateTimeZone.java:416)
6 at org.joda.time.DateTimeZone.<clinit>(DateTimeZone.java:115)
7 at org.joda.time.chrono.GregorianChronology.<clinit>(GregorianChronology.java:71)
8 at org.joda.time.chrono.ISOChronology.<clinit>(ISOChronology.java:66)
9 at org.joda.time.base.BaseDateTime.<init>(BaseDateTime.java:61)
10 at org.joda.time.DateTime.<init>(DateTime.java:155)
Run Code Online (Sandbox Code Playgroud)
搜索显示这通常是一个编译问题(通常是Joda时间库没有添加到构建路径或其他东西),但那么为什么只有大约4个用户看到这个错误?
我唯一的猜测是有人试图反编译应用程序盗版它(它是一个相当受欢迎的付费应用程序),并在错误地重新编译时看到这个错误.在那种情况下,我很高兴他们看到错误,我不需要担心这一点.
另一个奇怪的事情是导致问题的代码被try/catch包围,它似乎没有抓住它:
try {
DateTime dt = new DateTime();
DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
return fmt.print(dt);
} catch (Exception e) {
//Report issue to Analytics service
}
Run Code Online (Sandbox Code Playgroud)
对我而言,这个错误似乎更不可能出现在Crittercism上,因为它应该被抓住了.有谁能解释一下?
m3d*_*dw3 72
如果您错过初始化,可能会发生这种情况:
JodaTimeAndroid.init(this);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6116 次 |
| 最近记录: |