• 显示众多结果信息方法[原]


    常常项目中,需要显示一些返回的正确或错误信息,常用的方法有:

     1using System;
     2using System.Collections.Generic;
     3using System.Reflection;
     4using System.Text;
     5
     6namespace 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
    47            FieldInfo[] fields = constType.GetFields();
    48
    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
    57            return "WSA_UNKOWN_ERROR";
    58        }

    59    }

    60}

    61
    或者如下方式:
      1using System;
      2using System.Collections.Generic;
      3using System.Text;
      4
      5namespace AFC.BOM.Constants.Prompt
      6{
      7    public class OCTErrorResultCode
      8    {
      9        private static Dictionary<int,string> OCTResultCode = new Dictionary<int,string>();
     10
     11        /// <summary>
     12        /// 私有构造函数,以防止创建该类的实例
     13        /// </summary>

     14        private OCTErrorResultCode()
     15        
     16        }

     17
     18        /// <summary>
     19        /// 类的构造函数,在类(而不是实例)首次使用时调用,且在类的生命周期中仅调用一次
     20        /// </summary>

     21        static OCTErrorResultCode()
     22        {
     23            if (!InitOCTErrorResultCode())
     24                throw new Exception();
     25        }

     26
     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
     83            return true;
     84        }

     85
     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
    102        }

    103    }

    104}

    105

  • 相关阅读:
    PHP导出数据到淘宝助手CSV的方法分享
    创业日志:壹百款购物客户中心正式上线啦!
    THINKPHP+JS缩放图片式截图的实现
    入园3年来的感慨
    CentOS 5 全攻略 一步一步配置详解
    创业日记:进入电子商务领域,需未雨绸缪,更要步步谨慎
    IT商悟读书笔记
    震惊的事情一波接一波的,找自己的FREE
    创业日记:微团队,技术应用思考
    博客园我回来了!
  • 原文地址:https://www.cnblogs.com/winnxm/p/1072200.html
Copyright © 2020-2023  润新知