Some background information:
The people who invented the
Java language thought it was a good idea to have to kinds of exceptions: checked and unchecked exceptions. The idea was probably that checked exceptions should be used for normal, "expected" error conditions, and unchecked exceptions should be used for unexpected error conditions in a program (for example errors that would indicate that's there a bug in the program).
Other programming languages have exceptions too, but Java is unique in that it has two kinds of exceptions.
There has been some debate on the Internet on whether it was a good idea to have these two kinds of exceptions. There are some people who think that checked exceptions are not useful and should not have been put into the language.