Introduction
The throws keyword tells the program that a method might cause an error that needs handling.
When a method might cause an error that it does not handle itself.
When you want to inform others using your method that they should prepare for possible errors.
When working with input/output operations that can fail, like reading files.
When calling methods that throw checked exceptions and you want to pass the responsibility up.
When you want to keep your method code clean by not catching exceptions inside it.