Hi Chowdry,
Exception:
1) A programmer expects that inside his/her program that something might go wrong and tries to handle the exception if that happens
2) Exception can be of two types Checked and Unchekced and checked exception can be handled or declared in the program
3) You can pass the exception to the method which it called if the current method doesn't handle the exception. This is called ducking the exception to main().
Error:
1) Programmer doesn't know whether the error is going to happen or not say for example if you are reading a file from server and in case the server shut down these are called error.
2) You cannot handle or declare an error in you program.
Both Exception and error are from java.lang.Throwable class.
Hope this clarifies your doubt.