zoukankan      html  css  js  c++  java
  • MyException

    自定义Exception

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.Serialization;
    
    namespace Model
    {
        /// <summary>
        /// This class is used to define the custom exception.
        /// </summary>
        [DataContract]
        public class MyExceptionContainer:Exception
        {
            /// <summary>
            /// The exception's starck message.
            /// </summary>
            [DataMember]
            public string ErrorMessage { get; set; }
    
            /// <summary>
            /// The custom informtion.
            /// </summary>
            [DataMember]
            public string Description { get; set; }
    
            #region Constructor
    
            public MyExceptionContainer() { }
    
            public MyExceptionContainer(string errorMessage, string description)
            {
                this.ErrorMessage = errorMessage;
                this.Description = description;
            }
    
            #endregion
        }
    }
    View Code

    UserException

    using System;
    using System.Runtime.Serialization;
    using System.Security.Permissions;
    
    namespace Constant
    {
        /// <summary>
        /// The class is defined for const fields of login exception.
        /// </summary>
        [Serializable]
        public class UserException:Exception,ISerializable
        {
            #region Fields
    
            private string message;
            private Exception innerException;
    
            #endregion
    
            #region Constructors
    
            public UserException() { }
    
            public UserException(string message)
            {
                this.message = message;
            }
    
            public UserException(string message, Exception exception)
            {
                this.message = message;
                this.innerException = exception;
            }
    
            #endregion
    
            #region Const fileds of user functions' exception.
    
            public const string UserNameIsNull = "*Username is null.";
            public const string PasswordIsNull = "*Password is null.";
            public const string LoginedFailed = "*Username or password is wrong.";
            public const string ChangeNewPasswordIsNull = "*New password is null.";
            public const string ChangeConfirmIsNull = "*Confirm is null.";
            public const string TwiceEnterIsNotSame = "*New password and confirm is not same.";
            public const string PasswordIsWrong = "*Old Password is wrong.";
            public const string UpdatePasswordFailed = "The error is come from UpdatePasswordFailed Method in UserDal Class.";
            public const string RetrieveUserByUserName = "The error is come from RetrieveUserByUserName Method in UserDal Class.";
            public const string ChangePasswordSucceed = "Change password succeed.";
            public const string FormatException = "The parameter error.";
    
            #endregion
        }
    }
    View Code

    DAL

            public int UpdatePassword(string newPassword, string userName)
            {
                int influenceNumber = 0;
    
                try
                {
                    string sqlText = SqlText.UpdatePassword;
                    SqlParameter[] parms = new SqlParameter[] {
                        new SqlParameter("@password", newPassword),
                        new SqlParameter("@userName", userName),
                    };
    
                    influenceNumber = SqlHelper.ExecuteNonQuery(sqlText, parms);
                }
                catch (SqlException ex)
                {
                    throw new UserException(UserException.UpdatePasswordFailed, ex);
                }
    
                return influenceNumber;
            }
    View Code

    BLL

            public IList<Exam> RetrieveExamList(string userName, int order)
            {
                try
                {
                    return examDal.RetrieveExamList(userName, order);
                }
                catch (ExamException ex)
                {
                    log.Error(ExamException.RetrieveExamList, ex);
                    throw new FaultException<MyExceptionContainer>( new MyExceptionContainer() {
                        ErrorMessage = ex.Message,
                        Description = ExamException.RetrieveExamList
                    });
                }
            }
    View Code
    Use
                    catch (FaultException<MyExceptionContainer> myException)
                    {
                        log.Error(myException.Message, myException);
                    }
                    catch (FaultException faultException)
                    {
                        log.Error(faultException.Message, faultException);
                    }
                    catch (Exception exception)
                    {
                        log.Error(exception.Message, exception);
                    }
    View Code
  • 相关阅读:
    标记不同浏览器的Burp Suite 插件
    60%配列机械键盘客制化清单
    配合mitmproxy使用自动化工具测试阿里云API网关接口
    CORS & CSP笔记
    fmex挂单挖矿
    使用SPLUNK进行简单Threat Hunting
    Mac最新系统bssdb BUG
    技巧之如何快速使用websocket来监控标准输出
    币早知道夺宝题--以太坊题解题方法
    发行NEO的NEP-5合约代币
  • 原文地址:https://www.cnblogs.com/chenyongblog/p/3819200.html
Copyright © 2011-2022 走看看