Explained here

Checked Exceptions are checked on compile time. Unchecked Exceptions are not.

How to choose unchecked or checked Exception.
If client can reasonable to be expected to recover from the exception, make it checked Exception
otherwise, make it as unchecked Exception