我正在开发一个Android应用程序,我在其中使用以下代码段:
private Boolean myMethod(boolean isOnline) {
try {
if (isOnline) {
...
return true;
}
else {
...
return true;
}
}
catch (SocketTimeoutException e) {
this.e = e;
return false;
} catch (IOException e) {
this.e = e;
return false;
} catch (XmlPullParserException e) {
this.e = e;
return false;
} catch (Exception e) {
this.e = e;
return false;
}
}
我正在调试代码。最后一个catch块return false;
中的return语句在不执行this.e = e;
且this.e
为null
的情况下执行。如果我删除最后一个catch块
catch (Exception e) {
this.e = e;
return false;
}
然后执行以下catch块中的return语句
catch (XmlPullParserException e) {
this.e = e;
return false;
}
我犯了什么错误?
答案 0 :(得分:0)
你的错误是添加了这个块:
catch (Exception e) {
this.e = e;
return false;
}
它将捕获所有内容,导致您的XmlPullParserException未被调用IMO。