Beispiel #1
0
 /// <summary>
 /// 创建一个EtpException实例,该实例封装Etp返回的错误消息。
 /// </summary>
 /// <param name="code">主错误码。</param>
 /// <param name="description">主错误描述。</param>
 /// <param name="subCode">子错误码。</param>
 /// <param name="subDescription">子错误描述。</param>
 public EtpException Create(string code, string description, string subCode = "", string subDescription = "")
 {
     EtpException etpException = null;
     int errCode;
     if (int.TryParse(code, out errCode))
     {
         //根据不同的错误类型创建不同的异常对象
         if (((errCode > 100 || errCode == 15) && subCode.StartsWith("isv.")) || errCode == 40 || errCode == 41)
         {
             //业务级异常
             etpException = EtpException.CreateBusinessException();
         }
         else if (((errCode < 100) && (!(errCode == 15 || errCode == 40 || errCode == 41))))
         {
             //一般是由于用户的请求不符合各种基本校验而引起的。用户遇到这些错误的返回首先检查应用的权限、频率等情况,然后参照文档检验一下传入的参数是否完整且合法.
             etpException = EtpException.CreatePlatformException(false);
         }
         else if (subCode.StartsWith("isp."))
         {
             //一般是由于服务端异常引起的。用户遇到这类错误需要隔一段时间再重试就可以解决。
             etpException = EtpException.CreatePlatformException(true);
         }
         else
         {
             etpException = EtpException.CreateApplicationException();
         }
     }
     else
     {
         etpException = EtpException.CreateBusinessException();
     }
     etpException.SetError(code, description);
     etpException.SetSubError(subCode, subDescription);
     return etpException;
 }
		/// <summary>
		/// 创建一个EtpException实例,该实例封装Etp返回的错误消息。
		/// </summary>
		/// <param name="code">主错误码。</param>
		/// <param name="description">主错误描述。</param>
		/// <param name="subCode">子错误码。</param>
		/// <param name="subDescription">子错误描述。</param>
		public EtpException Create(string code, string description, string subCode = "", string subDescription = ""){
            EtpException etpException = null;
            int error_code;
            if (code == "0000001")

            {
                //平台级异常
                etpException = EtpException.CreatePlatformException(true);
            }
            else if (code.StartsWith("00"))

            {
                //平台级异常
                etpException = EtpException.CreatePlatformException(false);
            }
            else if (int.TryParse(code, out error_code))

            {
                etpException = EtpException.CreateBusinessException();
            }
            else

            {
                //应用级异常
                etpException = EtpException.CreateApplicationException();
            }
            //设置主错误信息
            etpException.SetError(code, description);
            //设置子错误信息
            etpException.SetSubError(subCode, subDescription);

            return etpException;
        }
Beispiel #3
0
        /// <summary>
        /// 创建一个EtpException实例,该实例封装Etp返回的错误消息。
        /// </summary>
        /// <param name="code">主错误码。</param>
        /// <param name="description">主错误描述。</param>
        /// <param name="subCode">子错误码。</param>
        /// <param name="subDescription">子错误描述。</param>
        public EtpException Create(string code, string description, string subCode = "", string subDescription = "")
        {
            EtpException etpException = null;

            //通过code判断不同级别EtpException实例
            if (code == "invalid_request")
            {
                etpException = EtpException.CreateApplicationException();
            }
            else if (subCode.Contains("090008"))
            {
                etpException = EtpException.CreatePlatformException(true);
            }
            else if (code == "403" || code == "400" || code == "unauthorized_client" || code == "401")
            {
                etpException = EtpException.CreatePlatformException(false);
            }
            else
            {
                etpException = EtpException.CreateBusinessException();
            }

            etpException.SetError(code, description);
            etpException.SetSubError(subCode, subDescription);
            return etpException;
        }
Beispiel #4
0
 /// <summary>
 /// 创建一个EtpException实例,该实例封装Etp返回的错误消息。
 /// </summary>
 /// <param name="code">主错误码。</param>
 /// <param name="description">主错误描述。</param>
 /// <param name="subCode">子错误码。</param>
 /// <param name="subDescription">子错误描述。</param>
 public EtpException Create(string code, string description, string subCode = "", string subDescription = "")
 {
     EtpException etpException = null;
     //平台级
     if (_platformErrorCode.Contains(code))
     {
         etpException = EtpException.CreatePlatformException(true);
         etpException.SetError(code, description);
         etpException.SetSubError(subCode, subDescription);
     }
     //应用级
     else if (_appErrorCode.Contains(code))
     {
         etpException = EtpException.CreateApplicationException();
         etpException.SetError(code, description);
         etpException.SetSubError(subCode, subDescription);
     }
     //业务级
     else if (_businessErrorCode.Contains(code))
     {
         etpException = EtpException.CreateBusinessException();
         etpException.SetError(code, description);
         etpException.SetSubError(subCode, subDescription);
     }
     return etpException;
 }
        public EtpException Create(string code, string description, string subCode = "", string subDescription = "")
        {
            if (_codes[code] != null)
            {
                description = _codes[code];
            }
            var etpException = EtpException.CreateApplicationException();

            etpException.SetError(code, description);
            return(etpException);
        }