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(); } } } }
输出结果:
飞过森林 看见海洋