Exceptions are those which can be handled at the run time where as errors cannot be handled.
Examples for exceptions: Array out of bonds, attempt to divide by zero etc.
Exceptions can be handled by handlers using try - catch.
Error is an expected situation in an application. For example, think of a situation where you encounter a divided by zero or NaN in your logic, and the system would throw an error and stop. So you need to handle this situation wherever you logic expects that.
Where as exception is a runtime error that the program might encounter during the execution of the program. For example you are trying to populate a table where the connection is closed, or you are trying to write a file, where hard disk is full. These are exceptions which are unpredictable errors during runtime.
Error : Something goes wrong in our application/program, that leads to crash your output/logic is called as error. The the error may be of syntatic error or error which can easily identify the programmer.
Exception : During the execution(runtime) of our application/program, the system leads to something wrong statements like 'system out of memory' 'out of arguments' called Exception.