23.6 #warning和#error指令
这两条指令的语法相同,后面都是跟一个字符串,表示消息内容,该字符串不需要使用双引号。区别是:
❑#warning指令后面的字符串表示警告消息,编译器将会借此产生一条警告消息。
❑#error指令后面的字符串表示错误信息,编译器将会借此产生一条错误消息。代码清单23-3将产生两条警告消息和一条错误消息。
代码清单23-3 #warning和#error指令代码示例
define DEBUG
using System;
namespace ProgrammingCSharp4
{
class Preprocessor
{
region Main
static void Main()
{
warning这是一条自定义的警告消息
if(DEBUG&&!SPECIAL)
error这是第1条错误消息
error这是第2条错误消息
endif
}
endregion
}
}
在上述代码中,#warning指令编译时就会产生一条警告消息,而#error指令只在#if结构中的"(DEBUG&&!SPECIAL)"表达式返回true时才产生两条错误消息。从代码来看,这个表达式应该返回true,因此也将产生两条错误消息,如图23-3所示。而且,这些警告或者错误消息和其他消息位于同一个列表中。
图 23-3 在Visual Studio 2010中显示的错误和警告消息