CSFrameworkV6 - .NET敏捷开发之道 - Exception异常扩展类
CSFrameworkV6 - .NET敏捷开发之道 - Exception异常扩展类BizException异常扩展类
该类可以显示系统异常详情,包括【异常类型】、【异常信息】、【异常方法】、【堆栈调用】以及【EF内部异常】 DbEntityValidationException异常。 开发人员根据异常提示消息定位问题快速解决问题,提高开发效率! Exception扩展类 C# Code: /// <summary> /// www.csframework.com .NET敏捷开发之道 /// </summary> public static class EFExceptionExtension { /// <summary> /// 获取异常信息 /// </summary> /// <param name="ex">异常实例</param> /// <param name="showStackTrace">获取堆栈信息</param> /// <param name="Prefix"></param> /// <returns></returns> public static string GetMessageEF(this Exception ex, bool showStackTrace = false, string Prefix = "") { StringBuilder sb = new StringBuilder(); sb.AppendLine(Prefix + "【异常类型】∶" + ex.GetType().Name); sb.AppendLine(Prefix + "【异常信息】:" + ex.Message); sb.AppendLine(Prefix + "【异常方法】:" + ex.TargetSite); if (showStackTrace) sb.AppendLine(Prefix + "【堆栈调用】:" + ex.StackTrace); //EF框架校验实体异常 if (ex is DbEntityValidationException efex) { if (efex.EntityValidationErrors.Count() > 0) { var sb1 = new StringBuilder(); foreach (var v in efex.EntityValidationErrors) { sb1.AppendLine(String.Join("\r\n", v.ValidationErrors.Select(s => s.ErrorMessage).ToList())); }; if (sb1.Length > 0) sb.AppendLine(Prefix + "【EF内部异常】:" + sb1.ToString()); } } //Exception内部异常 if (ex.InnerException != null) { sb.AppendLine(Prefix + "【InnerException】:" + ex.InnerException.Message); if (ex.InnerException.InnerException != null) sb.AppendLine(ex.InnerException.InnerException.Message); } return sb.ToString(); } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 使用方法 C# Code: catch (Exception ex) { db.RollbackTransaction(); throw new BizException(ex.GetMessageEF()); } //来源:C/S框架网 | www.csframework.com | QQ:23404761 BizException C# Code: public class BizException : Exception { public BizException(); public BizException(string message); public BizException(int errorCode, string message); public int ErrorCode { get; set; } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 扫一扫加作者微信
参考文档:
百度地图API - 地址标注与位置显示(C#.NET)-C/S开发框架 C#/.NET 基础学习|C/S开发框架 C# .NET 入门概念与知识点总结|C/S开发框架 .NET 5.0运行环境安装包下载|C/S开发框架 .NET Core JWT Token 介绍|C/S开发框架 .NET5 Core 关于LINQ查询使用DateDiff解决方案|C/S开发框架 .NET5 启动WebApi服务完成事件|C/S开发框架 CSFrameworkV6 - Winform开发框架 - GetLookupData方法使用 CSFrameworkV6 - Winform开发框架 - Delete方法使用 CSFrameworkV6.0 试用版(Trial Version)开发指南_源码下载 CSFramework.WebApi V3.0 WebApi开发框架(.NETCore+EFCore) 热烈祝贺!正式发布CSFrameworkV6旗舰版 - .NET敏捷开发之道 CSFrameworkV6 - 软件快速开发平台审计日志数据日志应用 CSFrameworkV6 - 软件开发平台 - 常用功能按钮设置开发指南
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |