mayoría de las veces, la única cosa que veo un bloque finalmente utilizado para algo así como¿Por qué tengo que usar finalmente para cerrar recursos?
FileInputStream f;
try{
f= new FileInputStream("sample.txt");
//something that uses f and sometimes throws an exception
}
catch(IOException ex){
/* Handle it somehow */
}
finally{
f.close();
}
Mi pregunta es, si F alcance termina con el bloque que lo contiene, ¿por qué necesitamos para cerrarla en el fin ?
En su caso, el alcance de 'f' no termina con el try-block –
@Oli Charlesworth: Este es claramente un ejemplo legible. –
La creación de una referencia de archivo no arroja excepciones (o crea un manejador de archivo), para referencia futura. –