try {
// Code to try, which is throwing an Exception, e.g.
/*example*/ Thread.sleep(100)
} catch (InterruptedException e /*Or any other exception*/) {
// Handle Exception, usually:
e.printStackTrace(); // Print the StackTrace of the exception to see what cause it
} finally {
// Code executed after try / catch, used to close streams
/*example*/ in.close();
}
try block: code that is protected for any exceptions. and it is mandatory
(only try)
catch block: if any exception happens during runtime in the try block,
the catch block will catch that exception.
if any exception happens during runtime in the try block,
control will be given to catch block.
An optional finally block gives us a chance to run the code which
we want to execute EVERYTIME a try-catch block is completed
– either with errors or without any error.