1. What is the difference between throwing an exception and catching an exception?
2. What is a checked exception? What is an unchecked exception? Is a NullPointerException checked or unchecked? Which exceptions do you need to declare with the throws reserved word?
3. Why don't you need to declare that your method might throw a NullPointerException?