android - 无法重现安卓崩溃

标签 android double crash-reports value-of

Android 不断报告用户崩溃,但我无法在手机上重现。 我可以找到似乎不正确的行:

cursor.moveToFirst();
elechs=cursor.getString(2);
elecls=cursor.getString(3);
gass=cursor.getString(4);
waters=cursor.getString(5);

cursor.close();

if (elechs.length()!=0){
  elechdb=Double.valueOf(elechs);
}
else {
  elechdb=0.0;
}

if (elecls.length()!=0){
  elecldb=Double.valueOf(elecls);}
else {
  elecldb=0.0;
}

if (gass.length()!=0){
  gasdb=Double.valueOf(gass);
}
else {
  gasdb=0.0;
}

if (waters.length()!=0){
  waterdb=Double.valueOf(waters);
}
else {
  waterdb=0.0;
}

elecldb=Double.valueOf(elecls);
gasdb=Double.valueOf(gass);
waterdb=Double.valueOf(waters);

如果我查看代码,它没有任何意义。

我想我忘了删除最后三行。首先我检查字符串。如果字符串为空,它将把值存储为零。

不正确的最后三行也会尝试生成 如果单元格为空。这会导致很多崩溃。但是不在我的机器上。

我认为不应该制作一个空单元格。

有谁知道为什么这个错误不会让我的手机崩溃?

最佳答案

您最好的解决方案可能只是删除无论如何都不应该出现的有问题的行,最好在对 Double.valueOf() 的调用周围添加实际的错误处理,以防输入格式完全错误(如果单元格为空,可能会有不一致的行为,但如果显示“hello world”,一切都会崩溃),然后发布更新。

关于android - 无法重现安卓崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18126171/

相关文章:

android - 如何在eclipse和android studio中为marshmallow设置App权限?

ios - 解析崩溃报告不起作用

android - 如果用户在我的应用程序中将我的操作设置为默认操作,我如何取消默认操作?

java - 如何将视频设置为全屏

c++ - 浮点运算的最佳实践

java - Java Explicit Cast from Double 到 Int 的舍入规则是什么

java - 如何在java中编写1+1/2+1/3....+1/4999+1/5000?

android - 部署到 Google.Play 后报告的可疑非用户错误

IOS 应用程序崩溃,但没有可用的崩溃日志

java - 处理 Android 应用程序上的数据