C#自定义异常 统一异常处理

异常类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EasErpQuerySys.EasApplication
{
    [Serializable]
    public class EasWebServiceException : ApplicationException
    {
        private readonly ExceptionResult _exceptionResult;
        public EasWebServiceException() { }
        public EasWebServiceException(string resultStatus, string resultMsg) : base(resultStatus)
        {
            _exceptionResult = new ExceptionResult { resultMsg = resultMsg, resultStatus = resultStatus };
        }
        public ExceptionResult GetExceptionResult()
        {
            return _exceptionResult;
        }
    }
    public class ExceptionResult
    {
        public string resultStatus { get; set; }
        public string resultMsg { get; set; }
    }
}

触发类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EasErpQuerySys.EasApplication
{
    public class EasAppService : IEasAppService
    {
        public string Test()
        {

            throw new EasWebServiceException("失败", "失败了滚蛋");

        }
    }
}

捕获类

using EasErpQuerySys.EasApplication;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            IEasAppService easAppService = new EasAppService();


            try
            {
                easAppService.Test();
            }
            catch (EasWebServiceException e)
            {
                var tt = e.GetExceptionResult();
                Console.WriteLine(tt.resultMsg);
                Console.WriteLine(tt.resultStatus);
                Console.ReadLine();
            }
        }
    }
}

输出结果:

 

posted @ 2018-07-05 01:55  eedc  阅读(3783)  评论(0编辑  收藏  举报