这是我的代码:
private JSONArray dataArray;
class ....
@Override
public int getCount() {
return dataArray.length();
}
现在,我想检查一下,如果数组长度为null,我尝试使用try catch但它没有用。
@Override
public int getCount() {
try {
return dataArray.length();
} catch (NullPointerException npe){
Log.e("ARRAY","is null");
}
}
因为缺少return语句。我该如何解决这个问题?
答案 0 :(得分:0)
虽然这不是最好的方法,但以下代码可以正常工作
public int getCount() {
try {
int len = dataArray.length();
} catch (NullPointerException npe){
Log.e("ARRAY","is null");
}
return len;
}
答案 1 :(得分:0)
我不确定您要实现的目标,但请尝试修复此错误:
@Override
public int getCount() {
try {
return dataArray.length();
} catch (NullPointerException npe){
Log.e("ARRAY","is null");
return 0;
}
}
但是,检查不良条件而不是使用异常总是更好。也许您可能想要考虑这样编码:
@Override
public int getCount() {
If(dataArray != null) {
return dataArray.length();
}
else {
Log.e("ARRAY","is null");
return 0;
}
}
答案 2 :(得分:0)
尝试以下
public int getCount() {
int len=0;
if(dataArray !=null && dataArray.length()>0)
{
len = dataArray.length();
}
else
{
Log.e("ARRAY","is null");
}
return len;
}