Syntax errors - Mistakes in the way that the code is written such as spelling mistakes, incorrect use of punctuation (such as a missing colon (:)) and the use of capital letters.
Run-time errors - Causes the program or computer to crash. Can be caused by running out of memory, instructions have been written in the wrong order or an impossible calculation.
Semantic errors - Semantic errors, or logical errors, are where the program works but produces different results from what you designed or expected. Example could be entering 2+2 and getting the result of 5.
Maintainability
Identifying errors
Error handling in Python