Checked Exception Vs Unchecked Exception

Unchecked exception are exceptions that are not expected to happen hence does not declare throws clause.

Checked exception are exceptions that are expected for the client to handle, hence declare throws clause.

[!note]
Use Checked exception when the client can reasonably recover from the exception (from their handling using try/catch)

Use Unchecked exception when the client cannot recover from exception