preprocessor error handling