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