常常项目中,需要显示一些返回的正确或错误信息,常用的方法有:
1
using System;
2
using System.Collections.Generic;
3
using System.Reflection;
4
using System.Text;
5![](/Images/OutliningIndicators/None.gif)
6
namespace AFC.WorkStation.Comm
7
{
8
public static class WinSockErrorCode
9
{
10
// Return code/value ;
11
public const int WSA_INVALID_HANDLE = 6;
12
public const int WSA_NOT_ENOUGH_MEMORY = 8;
13
public const int WSA_INVALID_PARAMETER = 87;
14
public const int WSA_OPERATION_ABORTED = 995;
15
public const int WSA_IO_INCOMPLETE = 996;
16
public const int WSA_IO_PENDING = 997;
17
public const int WSAEINTR = 10004;
18
public const int WSAEBADF = 10009;
19
public const int WSAEACCES = 10013;
20
public const int WSAEFAULT = 10014;
21
public const int WSAEINVAL = 10022;
22
public const int WSAEMFILE = 10024;
23
public const int WSA_QOS_BAD_OBJECT = 11013;
24
public const int WSA_QOS_TRAFFIC_CTRL_ERROR = 11014;
25
public const int WSA_QOS_GENERIC_ERROR = 11015;
26
public const int WSA_QOS_ESERVICETYPE = 11016;
27
public const int WSA_QOS_EFLOWSPEC = 11017;
28
public const int WSA_QOS_EPROVSPECBUF = 11018;
29
public const int WSA_QOS_EFILTERSTYLE = 11019;
30
public const int WSA_QOS_EFILTERTYPE = 11020;
31
public const int WSA_QOS_EFILTERCOUNT = 11021;
32
public const int WSA_QOS_EOBJLENGTH = 11022;
33
public const int WSA_QOS_EFLOWCOUNT = 11023;
34
public const int WSA_QOS_EUNKOWNPSOBJ = 11024;
35
public const int WSA_QOS_EPOLICYOBJ = 11025;
36
public const int WSA_QOS_EFLOWDESC = 11026;
37
public const int WSA_QOS_EPSFLOWSPEC = 11027;
38
public const int WSA_QOS_EPSFILTERSPEC = 11028;
39
public const int WSA_QOS_ESDMODEOBJ = 11029;
40
public const int WSA_QOS_ESHAPERATEOBJ = 11030;
41
public const int WSA_QOS_RESERVED_PETYPE = 11031;
42
43
public static string GetErrorCodeName(int retcode)
44
{
45
Type constType = typeof(WinSockErrorCode);
46![](/Images/OutliningIndicators/InBlock.gif)
47
FieldInfo[] fields = constType.GetFields();
48![](/Images/OutliningIndicators/InBlock.gif)
49
for (int i = 0; i < fields.Length; i++)
50
{
51
FieldInfo info = fields[i];
52
if (info.FieldType == typeof(int) &&
53
retcode.Equals(info.GetValue(null)))
54
return info.Name;
55
}
56![](/Images/OutliningIndicators/InBlock.gif)
57
return "WSA_UNKOWN_ERROR";
58
}
59
}
60
}
61![](/Images/OutliningIndicators/None.gif)
或者如下方式:![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/InBlock.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/InBlock.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/InBlock.gif)
44
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
45
![](/Images/OutliningIndicators/InBlock.gif)
46
![](/Images/OutliningIndicators/InBlock.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
48
![](/Images/OutliningIndicators/InBlock.gif)
49
![](/Images/OutliningIndicators/InBlock.gif)
50
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
51
![](/Images/OutliningIndicators/InBlock.gif)
52
![](/Images/OutliningIndicators/InBlock.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/InBlock.gif)
55
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
56
![](/Images/OutliningIndicators/InBlock.gif)
57
![](/Images/OutliningIndicators/InBlock.gif)
58
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
59
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
60
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
61
![](/Images/OutliningIndicators/None.gif)
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4![](/Images/OutliningIndicators/None.gif)
5
namespace AFC.BOM.Constants.Prompt
6
{
7
public class OCTErrorResultCode
8
{
9
private static Dictionary<int,string> OCTResultCode = new Dictionary<int,string>();
10![](/Images/OutliningIndicators/InBlock.gif)
11
/// <summary>
12
/// 私有构造函数,以防止创建该类的实例
13
/// </summary>
14
private OCTErrorResultCode()
15
{
16
}
17![](/Images/OutliningIndicators/InBlock.gif)
18
/// <summary>
19
/// 类的构造函数,在类(而不是实例)首次使用时调用,且在类的生命周期中仅调用一次
20
/// </summary>
21
static OCTErrorResultCode()
22
{
23
if (!InitOCTErrorResultCode())
24
throw new Exception();
25
}
26![](/Images/OutliningIndicators/InBlock.gif)
27
/// <summary>
28
/// 初始化各种操作结果对应的中文信息
29
/// </summary>
30
/// <returns></returns>
31
private static bool InitOCTErrorResultCode()
32
{
33
try
34
{
35
/*
36
* HHHH代码含义 HHHH 说明
37
* */
38
OCTResultCode.Add(0x01, "无效的消息类型码!");
39
OCTResultCode.Add(0x02, "无效的消息版本 !");
40
OCTResultCode.Add(0x03, "报文格式错误 !");
41
OCTResultCode.Add(0x04, "报文长度无效!");
42
OCTResultCode.Add(0x05, "无效的加密压缩算法!");
43
OCTResultCode.Add(0x06, "通讯MAC错!");
44
OCTResultCode.Add(0x07, "通讯目标节点不可到达!");
45
OCTResultCode.Add(0x08, "通讯超时!");
46
OCTResultCode.Add(0x09, "操作员不存在!");
47
OCTResultCode.Add(0x0A, "操作员口令错误!");
48
OCTResultCode.Add(0x0B, "POS机号不存在!");
49
OCTResultCode.Add(0x0C, "POS机已禁用!");
50
OCTResultCode.Add(0x0D, "SAM卡号不存在!");
51
OCTResultCode.Add(0x0E, "SAM卡号已禁用!");
52
OCTResultCode.Add(0x12, "操作员无权操作SAM卡!");
53
OCTResultCode.Add(0x13, "SAM卡与POS机对应关系错!");
54
OCTResultCode.Add(0x14, "SAM卡尚未签退!");
55
OCTResultCode.Add(0x15, "SAM卡尚未签到!");
56
OCTResultCode.Add(0x16, "上一日充值交易未上送完毕未及时上传交易!");
57
OCTResultCode.Add(0x1D, "无效的参数代码!");
58
OCTResultCode.Add(0x1E, "参数不允许下载!");
59
OCTResultCode.Add(0x23, "其它未定义的错误!");
60
OCTResultCode.Add(0x24, "参数未下载!");
61
OCTResultCode.Add(0x25, "审核数据认证失败!");
62
OCTResultCode.Add(0x28, "程序未升级!");
63
OCTResultCode.Add(0x51, "初始化读卡器通讯端口失败!");
64
OCTResultCode.Add(0x52, "创建SOCKET失败!");
65
OCTResultCode.Add(0x53, "读ISAM卡号失败!");
66
OCTResultCode.Add(0x54, "SOCKET发送失败!");
67
OCTResultCode.Add(0x55, "SOCKET接收失败!");
68
OCTResultCode.Add(0x56, "关闭端口失败!");
69
OCTResultCode.Add(0x57, "签退计算审核数据失败!");
70
OCTResultCode.Add(0x58, "签退SAM复位失败!");
71
OCTResultCode.Add(0x59, "签到认证失败!");
72
OCTResultCode.Add(0x60, "参数下载失败!");
73
OCTResultCode.Add(0x61, "加载读写器驱动库ACC.DLL失败!");
74
OCTResultCode.Add(0x62, "接收无效的消息类型码!");
75
OCTResultCode.Add(0x63, "本地签到数据表为空!");
76
OCTResultCode.Add(0x64, "代码异常!");
77
}
78
catch
79
{
80
return false;
81
}
82![](/Images/OutliningIndicators/InBlock.gif)
83
return true;
84
}
85![](/Images/OutliningIndicators/InBlock.gif)
86
/// <summary>
87
/// 通过索引来返回错误提示信息
88
/// </summary>
89
/// <param name="index">错误索引</param>
90
/// <returns></returns>
91
public static string GetOCTResultCodeInfo(int index)
92
{
93
try
94
{
95
if (OCTResultCode.ContainsKey(index))
96
return OCTResultCode[index];
97
}
98
catch
99
{}
100
return "严重错误,不可重试!";
101![](/Images/OutliningIndicators/InBlock.gif)
102
}
103
}
104
}
105![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
7
![](/Images/OutliningIndicators/InBlock.gif)
8
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
16
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
35
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/InBlock.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/InBlock.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/InBlock.gif)
44
![](/Images/OutliningIndicators/InBlock.gif)
45
![](/Images/OutliningIndicators/InBlock.gif)
46
![](/Images/OutliningIndicators/InBlock.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
48
![](/Images/OutliningIndicators/InBlock.gif)
49
![](/Images/OutliningIndicators/InBlock.gif)
50
![](/Images/OutliningIndicators/InBlock.gif)
51
![](/Images/OutliningIndicators/InBlock.gif)
52
![](/Images/OutliningIndicators/InBlock.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/InBlock.gif)
55
![](/Images/OutliningIndicators/InBlock.gif)
56
![](/Images/OutliningIndicators/InBlock.gif)
57
![](/Images/OutliningIndicators/InBlock.gif)
58
![](/Images/OutliningIndicators/InBlock.gif)
59
![](/Images/OutliningIndicators/InBlock.gif)
60
![](/Images/OutliningIndicators/InBlock.gif)
61
![](/Images/OutliningIndicators/InBlock.gif)
62
![](/Images/OutliningIndicators/InBlock.gif)
63
![](/Images/OutliningIndicators/InBlock.gif)
64
![](/Images/OutliningIndicators/InBlock.gif)
65
![](/Images/OutliningIndicators/InBlock.gif)
66
![](/Images/OutliningIndicators/InBlock.gif)
67
![](/Images/OutliningIndicators/InBlock.gif)
68
![](/Images/OutliningIndicators/InBlock.gif)
69
![](/Images/OutliningIndicators/InBlock.gif)
70
![](/Images/OutliningIndicators/InBlock.gif)
71
![](/Images/OutliningIndicators/InBlock.gif)
72
![](/Images/OutliningIndicators/InBlock.gif)
73
![](/Images/OutliningIndicators/InBlock.gif)
74
![](/Images/OutliningIndicators/InBlock.gif)
75
![](/Images/OutliningIndicators/InBlock.gif)
76
![](/Images/OutliningIndicators/InBlock.gif)
77
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
78
![](/Images/OutliningIndicators/InBlock.gif)
79
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
80
![](/Images/OutliningIndicators/InBlock.gif)
81
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
82
![](/Images/OutliningIndicators/InBlock.gif)
83
![](/Images/OutliningIndicators/InBlock.gif)
84
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
85
![](/Images/OutliningIndicators/InBlock.gif)
86
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
87
![](/Images/OutliningIndicators/InBlock.gif)
88
![](/Images/OutliningIndicators/InBlock.gif)
89
![](/Images/OutliningIndicators/InBlock.gif)
90
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
91
![](/Images/OutliningIndicators/InBlock.gif)
92
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
93
![](/Images/OutliningIndicators/InBlock.gif)
94
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
95
![](/Images/OutliningIndicators/InBlock.gif)
96
![](/Images/OutliningIndicators/InBlock.gif)
97
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
98
![](/Images/OutliningIndicators/InBlock.gif)
99
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
100
![](/Images/OutliningIndicators/InBlock.gif)
101
![](/Images/OutliningIndicators/InBlock.gif)
102
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
103
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
104
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
105
![](/Images/OutliningIndicators/None.gif)