Implement various kinds of error handling and resource management.
An important point of programming is how to handle errors and close resources even if errors occur.
This exercise requires you to handle various errors. Because error handling is rather programming language specific you'll have to refer to the tests for your track to see what's exactly required.
This exercise requires you to handle exceptions. An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the program's instructions.
In Java, there are two types of exceptions: checked and unchecked exceptions.
Checked exceptions are the exceptions that are checked at compile time.
You have to declare them in the method signature of any method that can throw a checked exception and handle or rethrow them when calling any method that can throw a checked exception.
This is because checked exceptions are meant to be handled at runtime, i.e. they are errors you can recover from.
They're often used when a method can't return any valid result, for example a search method which hasn't found the item it was searching for.
It's an alternative to returning null or an error code. A checked exception is better than those alternatives because it forces the user of the method to consider the error case.
Unchecked exceptions are the exceptions that are not checked at compile time.
You don't have to declare them in the method signature of methods that can throw an unchecked exception and handle or rethrow them when calling any method that can throw an unchecked exception.
Unchecked exceptions are typically caused by defects in the program and can be prevented by proper coding. Example: ArrayIndexOutOfBoundsException can be prevented by ensuring that the array indices are between 0 and the array's length.
Sign up to Exercism to learn and master Java with 25 concepts, 148 exercises, and real human mentoring, all for free.