What exactly does a finally
block in exception handling perform?
It holds code that should always be executed, regardless of whether an exception occurs.
For example, if you have opened a file, you should close it in the finally
block to ensure that it will always be closed; if you closed it in the try
block, an earlier exception would cause execution to jump straight to the catch
block and skip closing the file.
See the Java tutorials for more details.
The finally block always executes, regardless of whether or not the exception was thrown. The classic use example I can think of is closing files.
FileOutputStream stream = null;
try{
// do stuff with the stream here
} catch (IOException ex){
// handle exception
} finally{
// always close the stream
if(stream != null){
stream.close();
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With