The correct option is (a) #error
Explanation: As explained in the question, the job of the #warning preprocessor directive is to throw a message to the Arduino IDE as a warning to notify the user or the programmer of something. However, it does not hinder in the compilation process.