Explain the concept of exception handling in Java.
Java exceptions are for catching errors like in runtime, and it uses catch blocks to fix errors.
You're on the right path, but you missed some key points about the hierarchy and specific types of exceptions.
Could you expand on what makes a Java exception checked versus unchecked and how they are declared?