Error Code
1. Windows错误代码域
对于Windows错误码,WinError.h文件中定义了有关错误代码的规则,每个DWORD值被划分成了几个部分,如下:
位
31-30
29
28
27-16
15-0
内容
严重性
Microsoft / 客户
保留
设备代码
异常代码
含义
0 = 成功
1 = 信息(提示)
2 = 警告
3 = 错误
0 = Microsoft定义的错误码
1 = 客户定义的错误码
必须为零
前256个值由Microsoft保留
Microsoft/客户定义的代码
2. 编写错误信息文本文件
应用程序可以根据业务需求按照Windows错误代码域的规则定义自己的错误码, 自定义错误码需要先编写一个错误信息文本文件。文件以.mc为后缀,其语法相对来说比较简单,该文件主要包括三部分,注释、信息头(Header Section)和信息体(Message Section)。
注释
注释是以分号(;)开头的行,在编译后生成的C/C++头文件中,MC编译器会去掉这些分号,也就是说,如果你要生成一些带C/C++的注释,在分号后再加入C/C++的注释即可,如:
;#ifndef _YOUR_MESSAGE_ERROR_TEXT_
;#define _YOUR_MESSAGE_ERROR_TEXT_
;// C/C++单行注释
;
;/*
;
; C/C++块注释
;
;*/
;#endif
信息头部(Header Section)
信息头部定义信息体中需要使用的一些名称和语言标识,可以包含以下0个或多个语法声明。
语法
说明
MessageIdTypedef=type
声明错误码类型,该定义一般放到信息头部最前面,type在消息头文件(.h)中被使用。定义的类型(32位)必须要能够容纳所有的错误码。
SeverityNames=(name=number[:SymbolName])
声明错误等级集合,在30-31位中定义。可以定义多个错误等级,以空格分隔。默认定义为:
SeverityNames=(Success=0x0 Informational=0x1 Warning&#