Il mio codice java è come sotto:
public void check()throws MissingParamException{
......
}
public static void main(){
PrintWriter out = response.getWriter();
try {
check();
} catch (MissingParamException e) {
// TODO Auto-generated catch block
out.println("message:"+e.getMessage());
e.printStackTrace();
out.close();
}finally{
out.close();
}
//out.close();
}
Quindi, la mia confusione è: quale differenza se metto out.close()
in un blocco di codice finalmente o se rimuovo finalmente il blocco di codice e metto out.close()
dietro la clausola catch (che è stata commentata nel codice). So che in entrambi i modi, verrà eseguito out.close()
perché so che se si è verificata l'eccezione, il codice dietro la clausola catch verrà sempre eseguito.