Hello,
I just read the oracle documentation about Exceptions.
The Catch or Specify Requirement (The Java™ Tutorials > Essential Classes > Exceptions)
The definition for Error is clear, but the definition for the checked Exceptions and RuntimeException are confusing because therorically we can always recover from an Exception.
In doc from Unchecked Exceptions — The Controversy (The Java™ Tutorials > Essential Classes > Exceptions):
"Here's the bottom line guideline: If a client can reasonably be expected to recover from an exception, make it a checked exception. If a client cannot do anything to recover from the exception, make it an unchecked exception."
For example, NumberFormatException is RuntimeException but we often recover from this situation by asking the client to enter a valid number, isn't ?
So, how could we differentiate ?
Thank you