这个问题在这里已有答案:
似乎return
被finally
覆盖了。那是对的吗?
例如:
public String myMethod() {
try {
// Do stuff
} catch(Exception e) {
// Handle exception
return failed;
} finally {
// Close sockets
}
return success;
}
如果我在上面的代码中得到异常,该方法仍然会返回成功。
finally
确保无论何种类型的代码被写入,即使发生异常也会执行。如果你想返回,你的方法不成功,你可能想要这样做:
public String myMethod(){
boolean success = true;
try{
// Do stuff
}catch(Exception e){
// handle exception
success = false;
}finally{
//close sockets
}
return success;
}