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包放到本地maven仓库
    mybatise 设置全局变量实例
    版本控制器:Git
    PIP安装源
    Django跨域问题
    vue项目开发安装流程
    浅谈CSRF(Cross-site request forgery)跨站请求伪造(写的非常好)
    explicit抑制隐型转换
    拷贝构造函数
  • 原文地址:https://www.cnblogs.com/eedc/p/9266237.html
Copyright © 2011-2022 走看看