The correct answer is (a) Syntax and runtime
Easiest explanation: Usually, there are two kinds of errors in any programming language. They are syntactical errors and runtime errors. Syntactical errors arise due to the programmer not following language specific syntaxes. Runtime errors rise due to faulty logic decided for the program, the error is called Runtime error.