An error is a variance from perfection or correctness. A bug is an error or fault in a product which leads to the incorrect or unexpected result.
So, the following can be concluded:
Error is a difference between actual result and expected result.
Errors are a type of software bugs.
Errors sometime comes from the result of incorrect requirements.
Common Categories of Software Errors:
1) Functionality Errors:
Software's behavior on any particular action is a functionality. Software has a functionality error if actual result is not matching with the expected result. Expected result comes from the requirement.
2) Communication Errors:
Communication errors comes when customer/end-user is unable to use the software properly. When customer needs the more information that how to use the software and the those information is not available then it comes under Communication Errors.
3) Missing command errors:
Missing Command errors comes when the expected options are not available.
Example: When there is no option for end-user to exit from the current window or page.
4) Syntactic Error:
Syntactic errors includes the incorrect spelling or grammatically incorrect sentences. It comes while software GUI testing.
Example: When confirmation/error messages has grammatically incorrect messages or spelling mistakes.
5) Error handling errors:
Error handling errors occurs when the error shown to the user is not in a clear or meaningful manner.
Example: When end-user is unable to understand from the error message that what the issue actually is.