代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
CSharp
】
DataException扩展
作者:
书于
/ 发布于
2015/1/12
/
1037
using System; using System.Data; using System.Data.SqlClient; namespace Smithfield { internal static class DataExceptionExtender { /// <summary> /// Raises a user friendly error message. /// </summary> /// <param name="ex">The exception.</param> /// <exception cref="DataException"> /// Raises an exception of type <see cref="DataException"/> /// </exception> public static DataException GetDataException(this EntityException ex) { if (ex.InnerException != null) { if (ex.InnerException is SqlException) { GetDataException((SqlException)ex.InnerException); } } return GetDataException(ex, "Data Error:"); } /// <summary> /// Raises a user friendly error message. /// </summary> /// <param name="ex">The exception.</param> /// <exception cref="DataException"> /// Raises an exception of type <see cref="DataException"/> /// </exception> public static DataException GetDataException(this SqlException ex) { string message = ex.Message; if (message.StartsWith(@"Login failed for user", StringComparison.OrdinalIgnoreCase)) { throw new DataException(string.Format("Data Error: Login error for user '{0}'", message.Substring(23, message.IndexOf('\'', 23) - 23)), ex); } return GetDataException(ex, "Data Error:"); } /// <summary> /// Converts the supplied <paramref name="exception"/> to a <see cref="DataException"/> /// </summary> /// <param name="exception">The <see cref="Exception"/> to convert.</param> /// <param name="message">The new message prefix.</param> /// <param name="resuseDataException"> /// <see langword="true"/> to return the <paramref name="exception"/> if it is of type /// <see cref="DataException"/>, or contains an <see cref="Exception.InnerException"/> /// of type <em>DataException</em>; otherwise, <see langword="false"/> to always throw /// a new <em>DataException</em>. /// </param> /// <returns> /// A <see cref="DataException"/> that wraps the supplied <paramref name="exception"/>. /// </returns> /// <remarks> /// If <paramref name="resuseDataException"/> and <paramref name="exception"/> /// is a <see cref="DataException"/> or has a <em>DataException</em> /// <see cref="Exception.InnerException"/> then that is returned rather than generating /// a new <em>DataException</em>. In this case the <paramref name="message"/> prefix is ignored. /// </remarks> public static DataException GetDataException(this Exception exception, string message, bool resuseDataException = true) { Exception exRoot; if (resuseDataException) { exRoot = GetRootException(exception); if (exRoot is DataException) { return (DataException)exRoot; } } else { exRoot = exception; } if (!string.IsNullOrWhiteSpace(message)) return new DataException(string.Format("{0} => {1}", message, exRoot.Message), exception); return new DataException(exRoot.Message, exception); } private static Exception GetRootException(Exception ex) { return ex.InnerException != null ? GetRootException(ex.InnerException) : ex; } } }
试试其它关键字
DataException
同语言下
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
书于
贡献的其它代码
(
8
)
.
Expect实现SSH免交互执行命令
.
反射工具类
.
SQL 字符串去除空格函数
.
poi将html导出到word
.
同列合并
.
复制文件或者文件夹
.
隐藏一个文本框
.
DataException扩展
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3