Syntax errors and logical errors:
Syntax errors also called as compilation errors are caused by violation of the grammar rules of the language. The compiler detects, isolate these errors and give terminate the source program after listing the errors.
Logical errors: These are the errors related with the logic of the program implementation. These errors are not detected by the compiler and are primarily because of a poor understanding of the problem or a lack of clarity of hierarchy of operators. This type of errors cause incorrect result.