zoukankan      html  css  js  c++  java
  • 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();
                }
            }
        }
    }

    输出结果:

  • 相关阅读:
    运行jar包读取外部配置文件
    DES加密
    BlockingQueue
    文件锁
    Hive 的 排序
    linux下date命令实现时间戳与日期的转换
    bcov进行覆盖率统计
    对c++服务端进行覆盖率统计
    github基础命令
    gcc编译参数-fPIC问题 `a local symbol' can not be used when making a shared object;
  • 原文地址:https://www.cnblogs.com/eedc/p/9266237.html
Copyright © 2011-2022 走看看