As we know if any error or any unchecked exception occurs then our program will halt, then what are the differences between those?
In short:
You can, and probably should, recover from an exception.
You can, but should not, recover from an error.